|
|
发表于 2020-12-19 21:30:35
|
显示全部楼层
本帖最后由 风过无痕1989 于 2020-12-19 21:32 编辑
实话说,排序用 while 排序,至今还是第一次,下面的程序是在你的程序的基础上修改的
- #include<stdio.h>
- int quick_sort(int *array, int right); // 应该使用指针
- int main(void)
- {
- int array[] = { 73,108,11,118,101,70,105,115,104,67,46,99,111,109 };
- int i, length;
- length = sizeof(array) / sizeof(array[0]);/*整个数组的宽度除以每个数组的宽度即为数组总共有多少元素*/
- quick_sort(array, length - 1); // 传递一个0过去没有意义
- printf("被排序后的数组为:");
- for (i = 0;i<length;i++)
- {
- printf("%d ", array[i]);
- }
- }
- int quick_sort(int *array, int right)
- {
- int i = 0, j, k = right, temp;
- while (i <= k)
- {
- j = 0;
- while (j <= k)
- {
- if (*(array + j) < *(array + j + 1))
- {
- temp = *(array + j);
- array[j] = *(array + j + 1);
- *(array + j + 1) = temp;
- }
- j++;
- }
- i++;
- }
- return 0;
- }
复制代码 |
|