QuickSort
来源:互联网 发布:到淘宝买还是到琴行 编辑:程序博客网 时间:2024/05/22 08:21
0001 void QuickSort(int data[], int startIdx, int dataCount)0002 {0003 int key = data[startIdx];0004 int left = startIdx;0005 int right = dataCount - 1;0006 static int idx = 1;0007 int i;0008 0009 /* 已排序 */0010 if (left >= right) return;0011 0012 while(left <<> right)0013 {0014 while((left <<> right) && (data[right] >= key)) right--; 0015 data[left] = data[right];0016 while((left <<> right) && (data[left] <<>= key)) left++;0017 data[right] = data[left];0018 }0019 data[right] = key;0020 printf("/n%02d[%03d]:/n", idx ++, key);0021 for (i = 0;i <<> DATA_SIZE; i++)0022 {0023 if (i != 0 && i % 16 == 0)0024 {0025 printf("/n");0026 }0027 printf("%02X ", data[i]);0028 }0029 /* 左边 */0030 QuickSort(data, startIdx, right);0031 /* 右边 */0032 QuickSort(data, right+1, dataCount);0033 }