数据结构-排序基础代码

来源:互联网 发布:淘宝号怎么养 编辑:程序博客网 时间:2024/06/06 08:44

数据结构-排序基础代码


1.快排的递归算法:

void QuickSort(int A[],int n){Qsort(A,0,n-1);}void Qsort(int A[],int left,int right){int i,j;if(left<right){i=left;j=right+1;do{do i++;while(A[i]<A[left]);do j--;while(A[j]>A[left]);if(i<j) Swap(A[i],A[j]);}while(i<j)Swap(A[left],A[j]);Qsort(A,left,j-1);Qsort(A,j+1,right);}}



2.冒泡排序:

void BubbleSort(int A[],int n){int i,j,last;i=n-1;//最多进行n-1趟while(i>0){last=0;for(j=0;j<i;j++)if(A[j+1]<A[j]){Swap(A[j],A[j+1]);last=j;}//如果一趟排序中没有交换元素,则last为0i=last;}}


3.直接插入排序:

void InsertSort(T A[],int n){for(int i=1;i<n;i++){int j=i;int temp=A[i];while(j>0&&temp<A[j-1]){A[j]=A[j-1];j--;}A[j]=temp;}}


4.简单选择排序:

void SelectSort(int A[],int n){int small;for(int i=0;i<n-1;i++){small=i;for(int j=i+1;j<n;j++)if(A[j]<A[small])samll=j;Swap(A[i],A[small]);}}



原创粉丝点击