共6页
实验报告
实验一合并排序、快速排序
一.实验目的
(1)学习合并排序和快速排序算法的思想,掌握原理。
(2)运用合并排序和快速排序算法的思想进行编程实现,以加深理解。
二.实验内容
(1)输入几个整数,运用合并排序的思想进行编程实现,输出正确的排序结果。
(2)输入10个整数,运用快速排序的思想进行编程实现,输出正确的排序结果
三.实验代码
(1)合并排序源代码如下:
include
include
voidCopy(Ta[],Tb[],intleft,intright)
{intsize=right-left+1;
for(inti=0;i a[left++]=b[i]; }/合并有序数组a[left:i],a[i+1:right]到b,得到新的有序数组b template voidMerge(Ta[],Tb[],intleft,inti,intright) {inta1cout=left,/指向第一个数组开头 a1end=i,/指向第一个数组结尾 a2cout=i+1,/指向第二个数组开头 a2end=right,/指向第二个数组结尾 bcout=0;/指向b中的元素 for(intj=0;j {if(a1cout>a1end) {b[bcout++]=a[a2cout++]; continue;}/如果第一个数组结束,拷贝第二个数组的元素到bif(a2cout>a2end) b[bcout++]=a[a1cout++];
举报
