发布时间 : 星期四 文章数据结构课程设计-排序算法集成更新完毕开始阅读73c0ecaf04a1b0717fd5dd7b
printf(\}
③冒泡排序
冒泡排序首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序则将两个记录交换,然后比较第二个记录和第三个记录的关键字,依次类推。
void bubble_sort(int data[],int size)/*冒泡排序*/ {int i,j,flag,k,temp,num=0; for(i=0;i for(j=0;j printf(\第%d趟排序:\ for(k=0;k printf(\ \ printf(\ } printf(\最终排序结果:\for(i=0;i if(flag!=1) break; } } ④选择排序 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。 void select_sort(int data[],int size)/*选择排序*/ {int base,compare,min,temp,i,num=0; for(base=0;base for(compare=base+1;compare min=compare; temp=data[min]; data[min]=data[base]; data[base]=temp; num++; printf(\第%d趟排序:\ for(i=0;i printf(\ \ printf(\ } printf(\最终排序结果:\ for(i=0;i } 3.5主要变量说明 Int data[] :整型数组,用于储存序列 Int size:整型变量,用于记录序列长度 Int temp:整型变量,用于交换元素 Int m,n,k,i,j,num:一般整型变量 四.程序源代码 #include void insertion_sort(int[],int);/*插入排序*/ void shell_sort(int[],int);/*希尔排序*/ void bubble_sort(int[],int);/*冒泡排序*/ void select_sort(int[],int);/*选择排序*/ void adjust(int,int);/*将数据调整为堆树*/ void insertion_sort(int data[],int size)/*插入排序*/ {int base,compare,temp,i,j=0; for(base=1;base while(compare>0 && data[compare-1]>temp) {data[compare]=data[compare-1]; compare--; } data[compare]=temp; printf(\第%d 趟排序:\ for(i=0;i printf(\最终排序结果:\ for(i=0;i void shell_sort(int data[],int size)/*希尔排序*/ { int i,j,k,incr,temp,num=0; incr=size/2; printf(\ while(incr>0) { for(i=incr+1;i while(j>0) if(data[j]>data[j+incr])/*比较每部分的数据大小顺序不对则交换*/ { temp=data[j]; data[j]=data[j+incr]; data[j+incr]=temp; j=j-incr; } else j=0; } num++;