导航:首页 > 源码编译 > 排序算法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相关的资料

热点内容
区块链编译eth 浏览:781
安卓手机软件如何给照片加发光点 浏览:977
结构性存款在app哪里 浏览:968
iphone如何快速打开app 浏览:797
好玩的程序员笑话 浏览:82
linux下如何搭建web服务器 浏览:222
狼群之饥和命令之眼 浏览:369
xp使用telnet命令 浏览:159
安卓如何有苹果涂鸦笔 浏览:598
图好快压缩 浏览:295
华为思科命令手册 浏览:155
七公主中文版在哪个app看 浏览:646
周立功单片机实验与实践 浏览:259
新建文件夹命名怎么老是显示重试 浏览:797
云服务器如何建立社区 浏览:230
把pdf转成word文档的软件 浏览:248
云服务器的操作系统选什么好 浏览:974
python没用 浏览:833
丁晓钟外刊pdf 浏览:246
安卓怎么给应用改图标 浏览:791