C语言实现将数组的六个元素按从小到大的顺序输出?

哎,快速排序,这个是吧。
你看啊,你那个代码写得挺好的,就是这个快速排序的实现。

你那个选择第一个数为key,然后左右两边开始找,小于key的从右往左找,大于key的从左往右找,对吧。
然后交换位置,这个是对的。

你看你那个2 02 2 年,我在北京的时候,也是用这个快速排序,对吧。
就是数组a这个,有六个元素,1 2 ,4 ,1 3 2 ,5 5 ,4 6 ,2 3 2 ,这个是吧。
然后你那个n=sizeof(a)/sizeof(a[0]),这个是对的,算出来是6
然后你那个quickSort(a,0,n-1 ),调用的时候,0开始,到5 结束,这个是对的。
然后你那个递归调用,也是对的,先排左边,再排右边。

但是你看啊,那个while(i不用每次都判断。
你看,我当时也懵,后来才反应过来。

还有那个printf("%d",a[i]);这个输出,这个是对的,就是按顺序输出。

你那个扩展资料,时间复杂度啊,空间复杂度啊,这个是挺重要的。
你看,快速排序的平均时间复杂度是O(n log n),但是最坏情况是O(n^2 ),这个是要注意的。
空间复杂度是O(log n),因为递归调用栈。

你那个冒泡排序、选择排序、插入排序,这些也是常见的,对吧。
冒泡排序那个,就是相邻元素比较交换,简单,但是慢。
选择排序,每次找最小放前面,也慢。
插入排序,把元素插入到已排序的序列中,也一般。

你看啊,那个归并排序,那个是稳定的,但是空间复杂度高。
堆排序,那个是不稳定的,但是空间复杂度低。

总之啊,你那个快速排序代码,这个是对的。
就是那个while(i你看,我当时也懵,后来才反应过来。

2 02 3 年了,这个排序算法,还是得学学。
你看,那个快速排序,这个是常用的。
就是要注意那个时间复杂度和空间复杂度。

你那个代码,这个是对的。
就是那个while(i你看,我当时也懵,后来才反应过来。

就这样。

从键盘输入5个整数编写一程序,使得数组元素按照从小到大的顺序排列,用选择排序法实现 NS图怎么画

这就是坑、别信、别这么干。

scanf("%d",&a[i]); 改成 scanf("%d",&a[i]); for(i=1 ;i<5 i++)for(j=0;j>a[j+1 ]){ t=a[j];a[j]=a[j+1 ];a[j+1 ]=t;} 这部分是对的。
数组元素一般形式是:a[i]。

实操提醒:检查输入语句。

C语言(简单的)编写程序输入一维整形数组a[10],将其按由小到大排序后输出

2 02 3 年,我那个朋友用起泡法排序算法写了个小程序,代码是这样的:
c include
int main() { int a[1 0]; int i, j, k;
printf("input 1 0 numbers:\n"); for(i = 0; i < 1> // 换行 printf("\n");
for(j = 0; j < 9 xss=clean> a[i + 1 ]) { int t = a[i]; a[i] = a[i + 1 ]; a[i + 1 ] = t; } } }
printf("the sorted numbers:\n"); for(i = 0; i < 1> return 0; }
然后他给了我个结果,但是没有具体的数字,所以我也不知道排序前后的具体数值。
这部分我不确定。
他应该是在某个电脑上运行的,但是我看不到实际运行的结果。
你看着办,如果你想看具体的排序结果,可能需要你自己运行这个程序。
算了。