![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
XYZHCS
这个作者很懒,什么都没留下…
展开
-
各种排序算法性能分析汇总
排序算法 时间复杂度 空间复杂度 稳定性 平均情况 最坏情况 最好情况 直接插入排序 O(n2) O(n2) ...原创 2019-11-09 21:13:21 · 625 阅读 · 0 评论 -
奇偶排序算法
#include<stdio.h> void swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } int sort(int A[],int n) { bool flag1,flag2=true; while(1) { flag1=false; for(int i=1;i<n-1;i+=2) ...原创 2019-11-09 16:56:48 · 474 阅读 · 0 评论 -
直接插入排序(链表)
typedef struct LNode { int data; struct LNode *next; }LNode; void CreateLink(LNode *&h,char R[],int n) { int i; LNode *s,*t; h=(LNode*)malloc(sizeof(LNode)); h->next=NULL; t=h; for(i=0...原创 2019-09-20 09:33:24 · 1474 阅读 · 0 评论 -
插入排序
直接插入排序(稳定) #include<iostream> using namespace std; void insertsort(int a[],int n) { int i,j,x; for(i=1;i<n;i++) { if(a[i]<a[i-1]) { x=a[i]; //x定为哨兵 ...原创 2017-11-01 21:45:16 · 551 阅读 · 0 评论 -
归并排序
稳定排序(可用于链式结构,不需要附加存储空间,递归实现时需要开辟递归工作栈) #include using namespace std; void merge(int a[],int low,int mid,int high) { int i=low,j=mid+1,*temp=new int[high-low+1],k=0; if(!temp) { cout<<"原创 2017-11-01 21:57:52 · 225 阅读 · 0 评论 -
选择排序
简单选择排序(不稳定) #include<iostream> using namespace std; void selectsort(int a[],int n) { int i,j,k,t; for(i=0;i<n;i++) { k=i; for(j=i+1;j<n;j++) //寻找最小值 if(a[j]<a[i]) ...原创 2017-11-01 21:56:24 · 540 阅读 · 0 评论 -
交换排序
冒泡排序(稳定)#include<iostream> using namespace std; void bubblesort(int a[],int n) { int i,j,p; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) p=a[j],a[j]=a[j+1],a...原创 2017-11-01 21:53:43 · 159 阅读 · 0 评论