//冒泡排序
void BubbleSort(int *r,int length){
for(int i=1;i<=length-1;i++){
for(int j=1;j<=length-i;j++){
if(r[j-1]>r[j]){
int x;
x=r[j-1];
r[j-1]=r[j];
r[j]=x;
}
}
}
}
//选择排序
void SelectSort(int *r,int length){
for(int i=0;i<length;i++){
int k=i;
for(int j=i+1;j<length;j++){
if(r[j]<r[k]){
k=j;
}
}
if(k!=i){
int x=r[i];
r[i]=r[k];
r[k]=x;
}
}
}
//希尔排序
void ShellSort(int *r,int length){
int delta=NUMBER/2;
int i,j;
while(delta>0){
//直接插入类排序
for (i=delta; i<length; i++)
{
int temp = r[i];
j = i-delta;
while (j >= 0 && temp < r[j])
{
r[j+delta] = r[j];
j = j-delta;
}
r[j+delta] = temp;
}
delta=delta/2;
}
}
//快速排序
void QuickSort(int *r,int left,int right){
if(left<right){
int i=left,j=right;
int base=r[left];
while(i<j){
while(i<j&&r[j]>=base)
j--;
if(i<j)
r[i++]=r[j];
while(i<j&&r[i]<base)
i++;
if(i<j)
r[j--]=r[i];
}
r[i]=base;
QuickSort(r,left,i-1);
QuickSort(r,i+1,right);
}
}
四种排序算法
最新推荐文章于 2022-04-27 23:04:16 发布