C语⾔数组升序排列(冒泡排序法)
数组升序排列
1#include
2int main()
3{
4 int a[1000];
5 int i,j,n,t,k=0;
6 scanf诚惶诚恐 ("%d",&n); //n值输⼊;
7 for(i=0;i 8 scanf("%d",&a[i]); //n个int类型的数据输妈妈100
煎鸡蛋的做法
⼊; 9 for(j=n-1;j>0;j--) 10 for(i=0贫困学生证明
;i 11 if(a[i]>a[i+1]) 12 { 13 t=a[i]; 14 a[i]=a[i+1]; 15 极端天气
a[i+1]=t; 16 } //嵌套循环解释如下(冒泡排序); 17 for(i=0;i 18 {刺杀贼天赋
19 printf("%d ",a[i]); //排好序的int类型数据输出; 20 k++; 21 if(k%8==0) 22 printf("n"); //输出时8个数据⼀⾏; 23 } 24 return 0; 25} 冒泡排序就是从左到右⽐较相邻两个元素的⼤⼩,以升序为例,第⼀轮⽐较时如果前⼀个元素⽐后⼀个元素⼤,就交换两个元素的位置,依 次⽐较,直到最后⼀个元素最⼤。第⼆轮⽐较时倒数第⼆个元素就会为第⼆⼤的数,就这样⼀轮⼀轮的⽐较,最后实现升序排列。 例如,数组中元素为22,44,77,33,88,11,55,66 第⼀大房子
轮⽐较如下, a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7] 原数组2244773388115566 a[0]和a[1]⽐较2244773388115566 a[1]和a[2]⽐较2244773388115566 a[2]和a[3]⽐较2244337788115566 a[3]和a[4]⽐较2244337788115566 a[4]和a[5]⽐较2244337711885566 a[5]和a[6]⽐较大旗头村
2244337711558866 a[6]和a[7]⽐较2244337711556688 由表可得,第⼀轮⽐较将最⼤数88置于最后⼀个位置a[7]。 第⼆轮⽐较如下, a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7] 第⼀轮所得数组2244337711556688 a[0]和a[1]⽐较2244337711556688 a[1]和a[2]⽐较2233447711556688 a[2]和a[3]⽐较2233447711556688 a[3]和a[4]⽐较2233441177556688 a[4]和a[5]⽐较2233441155776688 a[5]和a[6]⽐较2233441155667788 由表可得,第⼆轮⽐较将关于学习的文言文
第⼆⼤的数置于倒数第⼆个位置a[6]。 依次⼏轮⽐较可得出 a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7] 1122334455667788
本文发布于:2023-04-24 17:01:07,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/512582.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |