
排序算法
幸运数字-12
计算机技术专业在读
展开
-
九大排序法
直接插入 每趟操作分为比较关键字和移动元素,比较次数和移动次数取决于待排序表的初始状态。 1待排序正序时,比较n-1次,交换0次 2待排序逆序时,比较n(n-1)/2次,交换n(n-1)/2次 //直接插入排序 void insert(ElemType a[],int n) { for(i=1;i<=n;i++) if(a[i]<a[i-1]) { a[0]=a[i]; for(j=i-1;a[0]<a[j];j--) { a[j+1]=a[原创 2021-11-11 21:45:42 · 1255 阅读 · 0 评论 -
冒泡排序相关
两头起泡 void Bubble(int a[],int n) { int low=0;high=n-1; int flag=1; while(low<high&&flag) { flag=0; for(i=low;i<high;i++) if(a[i]>a[i+1]) { swap(a[i],a[i+1]); flag=1; } high--; for(i=high;i>low;i--) if(a原创 2021-11-04 21:43:12 · 78 阅读 · 0 评论 -
单链表的简单选择排序
LinkList selectsort(LinkList &L) { LNode *p=L->next,*q,*min; while(p) { q=p->next; min=p; while(q) { if(q->data<min->data) min=q; q=q->next; } if(min!=p) { swap(min->data,p->data); } p=p->next; .原创 2021-11-03 21:44:17 · 1788 阅读 · 0 评论 -
快速排序相关算法
目录 快速排序算法 快速排序算法 快速排序的基本思想基于分治法,在待排序表中任取一元素pivot作为枢轴,通过一趟排序将序列划分为两部分和,使得中的所有元素小于pivot,中的所有元素大于pivot,pivot放到了最终位置上,这个过程成为一次划分。然后分别递归的对两个子表重复上述过程,直到每个部分内只有一个元素或空为止。 ...原创 2021-10-31 17:29:25 · 116 阅读 · 0 评论