
排序
文章平均质量分 51
蓝齐儿
这个作者很懒,什么都没留下…
展开
-
归并有序表
对两个给定的有序表(均从小到大),设计一个算法将他们归并为一个有序表 void merge(int a[],int n,int b[],int m){ int i,t=0,l,k; for(i=0;i { int j=t; while(j { if(a[j] j++; else break; } if(j==原创 2012-06-19 10:54:34 · 334 阅读 · 0 评论 -
双向冒泡排序
编写一个双向冒泡排序算法,即在排序过程中以交替的正,反两个方向进行遍历,若第一趟吧关键字最大的记录放到最末尾,则在第二趟吧关键字最小的记录放到最前面。如此反复进行。 void dbubble(int a[],int i,int j,int flag){ int y,temp; if(i==j) return; if(flag==1) { for(y=i;y原创 2012-06-19 10:49:13 · 1571 阅读 · 0 评论 -
快速排序的应用
对给定关键字的序号j,要求在无序记录a[0.....n-1]中找按关键字从小到大排在第j位上的记录,利用快速排序的划分思想设计上述算法 int split(int a[],int low,int high,int &i,int k){ int j,temp,t; i=low; j=high; t=a[i]; while(i { while(i原创 2012-06-20 16:00:55 · 624 阅读 · 0 评论 -
计数排序
有一种简单的排序算法,叫做计数排序。这种排序算法岁一个待排序的表进行排序,并将排序结果存放在另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同。计数排序算法针对表中的每一个记录,遍历待排序的表一遍,统计表中有多少个记录的关键字比该记录的关键字小。假如针对某一个记录,统计出计数值为c,那么,这个记录在新的有序表中合适的存放位置即为c。void sort(int a[],int b[],原创 2012-06-20 11:39:37 · 1519 阅读 · 0 评论 -
排序
利用以为数组a可以对n个整数进行排序。其中一种排序的算法的处理思想是:n个整数非别作为数组A的N个元素的值,每次(即第i次)从元素a【i】-A[N]中挑出最小的一个元素元素a[k],然后将a[k]和a[i]进行交换。这样反复n次完成排序。编写如上算法的函数。 void sort(int a[],int n){ int min,minj,i,j; for(i=0;i {原创 2012-06-20 11:45:53 · 317 阅读 · 0 评论 -
快速排序
split(int a[],int low,int high,int &i){ int j,temp,t; i=low; j=high; t=a[i]; while(i { while(i i++; if(i { temp=a[i]; a[i]=a[j]; a[j]=temp; j--; } while(i=原创 2012-06-20 19:39:38 · 400 阅读 · 0 评论