导航:首页 > 源码编译 > 排序算法c和a

排序算法c和a

发布时间:2025-05-07 06:30:17

㈠ 设计算法,将3个数按从大到小的顺序排列。(高中算法初步)

设3个数顺序表示为a,b,c;顺开始进行比较:
1、如果a大于等于b,则顺底不变,即a,b,c;(1)
如果a小于b,则将a与b变位置互换,即b,a,c;(2)
2、用第二个数与第三个比较,
按(1):
如果b大于等于c,则顺底不变,即a,b,c;(完成)
如果b小于c,则b与c变位置互换,即a,c,b;(3)
按(2):
如果a大于等于c,则顺底不变,即b,a,c;(完成)
如果a小于c,则a与c变位置互换,即b,c,a;(4)
(冒泡排序法第一轮完成)
第二轮:
按(3):
如果a大于等于c,则顺底不变,即a,c,b;(完成)
如果a小于c,则a与c变位置互换,即c,a,b;(完成)
按(4):
如果b大于等于c,则顺底不变,即b,c,a;(完成)
如果b小于c,则a与c变位置互换,即c,b,a;(完成)

㈡ C语言,快速排序算法

0和N-1表示的是数组下标。快排每一趟排序的目的是使值比设定的key值小的数都排到数组前部分,大的都排到后部分;然后对这两部分用新的关键值key分别重复上一步的操作;递归,直到数组有序。
其中关键值key=a[low]。
用题目给定的数组模拟第一趟排序如下:
下标0123456789
值91647824661232551
low=0high=9
part_element=a[low]=9
进入for循环
进入第一个while
part_element<51,于是high--,high=8;
part_element<25,high--,high=7;
part_element>3,不满足,结束while
a[low]=a[0]=a[high]=a[7]=3,low++,low=1;
进入第二个while
part_element<16,不满足,结束while
a[high]=a[7]=a[low]=a[1]=16,high--,high=6
for第一个循环结束,数组如下
316478246612162551
low=1,high=6
for第二个循环同上,结束时数组如下
344782476612162551
low=2,high=3
for第三个循环,第一个while中high--以后,low==high,直接break跳出for循环,此时
344782476612162551
low=2,high=2
结束for以后
a[high]=a[2]=part_element=9,得到
34982476612162551
split函数returnhigh=2

quicksort函数中middle=2;
下面两句递归,仍然是调用split函数,对数组
0-2,3-9两部分分别重复上述操作

最后直到数组数据有序

阅读全文

与排序算法c和a相关的资料

热点内容
lcd单片机投影仪用久了会发黄 浏览:749
王者荣耀游戏内进攻主宰命令 浏览:213
周立功单片机发展有限公司 浏览:610
iphone未成年怎么付款app 浏览:988
苹果app是英文怎么改 浏览:835
51单片机485通信 浏览:268
符咒全书pdf 浏览:565
海底捞app签到怎么弄不成了 浏览:862
安卓php服务器搭建 浏览:259
京东直营网挣用什么APP 浏览:825
杰克豆车机怎么安装app 浏览:32
app查余额怎么有两个金额 浏览:305
小程序仿今日头条源码 浏览:277
框架源码研读 浏览:447
仙侣奇缘3如何架设服务器 浏览:954
单片机RRC指令 浏览:889
默认加密文件密码 浏览:5
怎么用反诈中心app查询电话 浏览:710
linuxvi操作 浏览:298
什么是实木压缩板 浏览:642