三种基本排序方法
#include<stdio.h>
void func1(int a[10]);//交换排序法
void func2(int a[10]);//选择排序法
void func3(int a[10]);//冒泡排序
int main()
{
int a[10]={243,564,7,97,35,9,27,88,3,54};
int choice;
printf("请输入你要选择的排序方法\n");
scanf("%d",&choice);
if(choice==1) func1(a);//交换排序法
if(choice==2) func2(a);//选择排序法
if(choice==3) func3(a);//冒泡排序
for(int i = 0; i < 10; i++)
{
printf("%d\t",a[i]);
}
return 0;
}
void func1(int a[10])//交换排序法
{
int b;
for(int i = 0; i < 9; i++)
{
for(int j = i+1; j < 10; j++)
{
if(a[i]>a[j])
{
b=a[i];
a[i]=a[j];
a[j]=b;
}
}
}
}
void func2(int a[10])//选择排序法
{
int k,temp;
for(int i = 0; i < 9; i++)
{
k = i;
for(int j = i+1; j < 10; j++)
{
if(a[k]>a[j])
{
k=j;
}
}
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
void func3(int a[10])//冒泡排序
{
int temp;
for(int i = 0; i<9;i++)
{
for(int j = 0; j < 9-i;j++)
{
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1]=temp;
}
}
}
}