#include<stdio.h>\n#include<stdlib.h>\n#define\ MAX_SIZE\ 100\n\n\typedef\ struct\ {\n\ \ \ int\ data[MAX_SIZE];\n\ \ \ int\ length;\n} SeqList;\n\n\void\ swap(int\ *a, int\ *b)\ {\n\ \ \ int\ temp\ =\ *a;\n\ \ \ *a\ =\ *b;\n\ \ \ *b\ =\ temp;\n}\n\n\int\ Partition(SeqList\ *list, int\ low, int\ high)\ {\n\ \ \ int\ pivot\ =\ list->data[low];\n\ \ \ while\ (low\ <\ high)\ {\n\ \ \ \ \ while\ (low\ <\ high\ &&\ list->data[high]\ >=\ pivot)\ high--;\n\ \ \ \ \ swap(&list->data[low], &list->data[high]);\n\ \ \ \ \ while\ (low\ <\ high\ &&\ list->data[low]\ <=\ pivot)\ low++;\n\ \ \ \ \ swap(&list->data[low], &list->data[high]);\n\ \ \ }\n\ \ \ return\ low;\n}\n\n\void\ QuickSort(SeqList\ list, int\ low, int\ high)\ {\n\ \ \ if\ (low\ <\ high)\ {\n\ \ \ \ \ int\ pivotPos\ =\ Partition(list, low, high);\n\ \ \ \ \ printf(" ");\n\ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ <\ list->length;\ i++)\ {\n\ \ \ \ \ \ \ printf("%d ", list->data[i]);\n\ \ \ \ \ }\n\ \ \ \ \ printf("\n");\n\ \ \ \ \ QuickSort(list, low, pivotPos\ -\ 1);\n\ \ \ \ \ QuickSort(list, pivotPos\ +\ 1, high);\n\ \ \ }\n}\n\n\int\ main()\ {\n\ \ \ int\ size;\n\ \ \ printf("请输入数据数量: ");\n\ \ \ scanf("%d", &size);\n\ \ \ if\ (size\ <=\ 0\ ||\ size\ >\ MAX_SIZE)\ {\n\ \ \ \ \ printf("数量过多,无效!\n");\n\ \ \ \ \ return\ 1;\n\ \ \ }\n\n\ \ \ SeqList\ list;\n\ \ \ \n\ \ \ printf("输入 %d 个整数:\n", size);\n\ \ \ for\ (int\ i\ =\ 0;\ i\ <\ size;\ i++)\ {\n\ \ \ \ \ scanf("%d", &list.data[i]);\n\ \ \ }\n\ \ \ list.length\ =\ size;\n\n\ \ \ printf("原始序列: ");\n\ \ \ for\ (int\ i\ =\ 0;\ i\ <\ list.length;\ i++)\ {\n\ \ \ \ \ printf("%d ", list.data[i]);\n\ \ \ }\n\ \ \ printf("\n");\n\n\ \ \ QuickSort(&list, 0, list.length\ -\ 1);\n\n\ \ \ FILE\ file\ =\ fopen("output.txt", "w");\n\ \ \ if\ (file\ ==\ NULL)\ {\n\ \ \ \ \ printf("无法打开文件!\n");\n\ \ \ \ \ return\ 1;\n\ \ \ }\n\n\ \ \ fprintf(file, "排序结果: ");\n\ \ \ for\ (int\ i\ =\ 0;\ i\ <\ list.length;\ i++)\ {\n\ \ \ \ \ fprintf(file, "%d ", list.data[i]);\n\ \ \ }\n\ \ \ fprintf(file, "\n");\n\n\ \ \ fclose(file);\n\ \ \ printf("排序结果已存储在 output.txt 文件中。\n");\n\n\ \ \ return\ 0;\n\


原文地址: https://www.cveoy.top/t/topic/pOgd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录