- 論壇徽章:
- 0
|
寫了個(gè)快速排序的腳本練練手,順便熟悉一下awk中的遞歸函數(shù)的寫法。
特點(diǎn):能對(duì)字符串及數(shù)字進(jìn)行排序:
qsort:
- #! /usr/bin/awk
-
- BEGIN {
- FS="[ ]";
- }
- {
- arr[len++]=$0;
- }
- END{
- qsort(arr,0,len);
- printfile(arr,len+1);
- exit 0;
- }
- function qsort(array , p , r , t , i ,x)
- {
- if (p < r) {
- x=array[p];
- i = p;
- j = r+1;
- while(array[--j] > x );
- while(i < j) {
- t = array[i];
- array[i]=array[j];
- array[j]=t;
- while(array[++i] < x );
- while(array[--j] > x );
- }
- qsort(array, p , j);
- qsort(array, j + 1 , r);
- }
- }
- function printfile(array,len,k)
- {
- for(k=1;k<len;k++)
- {
- print array[k];
- }
- }
復(fù)制代碼
用法:
|
|