快速排序
# include <stdio.h>
# define N 8
int Quick_sort_Partion(int R[],int left,int right)
{
int temp,buf;
int i=left,j=right;
while(left<right)
{
buf=R[left];
while(left<right&&buf<=R[right])
right--;
temp=R[right];
R[right]=R[left];
R[left]=temp;
while(left<right&&buf>=R[left])
left++;
if(left==right)
return left;
else{
temp=R[right];
R[right]=R[left];
R[left]=temp;
}
}
}
void Quick_sort(int R[],int left,int right)
{
int temp;
if(left<right){
temp=Quick_sort_partion(R,left,right);
Quick_Sort(R,left,temp-1);
Quick_Sort(R,temp+1,right);
}
}
int main(void){
int i;
int X[N]={26,23,96,13,36,67,45,15};
Quick_Sort(X,0,7);
for(i=0;i<8;i++)
print ("%d",X[i]);
printf("\n");
}
插入排序
# include <stdio.h>
# define N 8
void Insert_Sort(int X[],int n)
{
int temp;
int i,j;
for(i=1;i<n;i++){
temp=X[i];
for(j=i;temp<X[j-1]&&j>=0;j--)
{
X[j]=X[j-1];
}
X[j]=temp;
}
}
int main(void)
{
int i;
int X[N]={26,23,96,13,36,67,45,15};
Insert_Sort(X,N);
for(i=0;i<8;i++)
printf("%d",X[i]);
}
冒泡排序
void Bubble_Sort(int X[],int n)
{
int i,j;
int temp;
for(i=n;i>1;i--)
{
for(j=0;j<i-1;j++)
{
if(X[j]>X[j+1])
{
temp=X[j];
X[j]=X[j+1];
X[j+1]=temp;
}
}
}
}
int main(void)
{
int i;
int X[N]={26,23,96,13,36,67,45,15};
Bubble_Sort(X,N);
for(i=0;i<8;i++)
printf("%d",X[i]);
}
選擇排序
void Select_Sort(int X[],int n)
{
int i,j,k;
int temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(X[k]>X[j])
k=j;
}
if(k!=i)
{
temp=X[k];
X[k]=X[i];
X[i]=temp;
}
}
int main(void)
{
int i;
int X[N]={26,23,96,13,36,67,45,15};
Select_Sort(X,N);
for(i=0;i<8;i++)
printf("%d",X[i]);
}