#include <stdio.h>
#include <stdlib.h>
int bubblesort(int *buf,int len);
//int bubblesort(int buf[]);
int selectsort(int *buf,int len);
//int selectsort(int buf[]);
int insertsort(int *buf,int len);
//int insertsort(int buf[]);
void printbuffer(int *buf,int len);
int main()
{
int n=0;
printf("请输入n值:\n");
scanf("%d",&n);
getchar();
int arr[n];
int i=0;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int select=0;
while(1)
{
printf("请选择排序算法:\n");
printf("1:冒泡排序\n2:选择排序\n3:直接插入排序\n0:退出\n");
scanf("%d",&select);
switch(select)
{
case 1:
printbuffer(arr,n);
bubblesort(arr,n);
printbuffer(arr,n);
break;
case 2:
printbuffer(arr,n);
selectsort(arr,n);
printbuffer(arr,n);
break;
case 3:
printbuffer(arr,n);
insertsort(arr,n);
printbuffer(arr,n);
break;
case 0:
exit(0);
default:
printf("input number error\n");
}
}
return 0;
}
int bubblesort(int *buf,int len)
{
int i=0;
int j=0;
int tmp=0;
for(i=1;i<len;i++)
{
for(j=0;j<len-i;j++)
{
if(buf[j]>buf[j+1])
{
tmp=buf[j];
buf[j] = buf[j+1];
buf[j+1]=tmp;
}
}
}
//printbuffer(buf,len);
return 0;
}
int selectsort(int *buf,int len)
{
int i=0;
int j=0;
int k=0;
int t=0;
for(i=0;i<len-1;i++)
{
k=i;
for(j=i+1;j<len;j++)
{
if(buf[k]>buf[j])
{
k=j;
}
}
if(k!=i)
{
t=buf[k];
buf[k]=buf[i];
buf[i]=t;
}
}
return 0;
}
int insertsort(int *buf,int len)
{
int i=0;
int j=0;
int t=0;
for(i=1;i<len;i++)
{
t=buf[i];
for(j=i-1;j>=0;j--)
{
if(buf[j]>t)
{
buf[j+1]=buf[j];
}
else
{
break;
}
}
buf[j+1]=t;
}
return 0;
}
void printbuffer(int *buf,int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",buf[i]);
}
printf("\n");
}
#include <stdlib.h>
int bubblesort(int *buf,int len);
//int bubblesort(int buf[]);
int selectsort(int *buf,int len);
//int selectsort(int buf[]);
int insertsort(int *buf,int len);
//int insertsort(int buf[]);
void printbuffer(int *buf,int len);
int main()
{
int n=0;
printf("请输入n值:\n");
scanf("%d",&n);
getchar();
int arr[n];
int i=0;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int select=0;
while(1)
{
printf("请选择排序算法:\n");
printf("1:冒泡排序\n2:选择排序\n3:直接插入排序\n0:退出\n");
scanf("%d",&select);
switch(select)
{
case 1:
printbuffer(arr,n);
bubblesort(arr,n);
printbuffer(arr,n);
break;
case 2:
printbuffer(arr,n);
selectsort(arr,n);
printbuffer(arr,n);
break;
case 3:
printbuffer(arr,n);
insertsort(arr,n);
printbuffer(arr,n);
break;
case 0:
exit(0);
default:
printf("input number error\n");
}
}
return 0;
}
int bubblesort(int *buf,int len)
{
int i=0;
int j=0;
int tmp=0;
for(i=1;i<len;i++)
{
for(j=0;j<len-i;j++)
{
if(buf[j]>buf[j+1])
{
tmp=buf[j];
buf[j] = buf[j+1];
buf[j+1]=tmp;
}
}
}
//printbuffer(buf,len);
return 0;
}
int selectsort(int *buf,int len)
{
int i=0;
int j=0;
int k=0;
int t=0;
for(i=0;i<len-1;i++)
{
k=i;
for(j=i+1;j<len;j++)
{
if(buf[k]>buf[j])
{
k=j;
}
}
if(k!=i)
{
t=buf[k];
buf[k]=buf[i];
buf[i]=t;
}
}
return 0;
}
int insertsort(int *buf,int len)
{
int i=0;
int j=0;
int t=0;
for(i=1;i<len;i++)
{
t=buf[i];
for(j=i-1;j>=0;j--)
{
if(buf[j]>t)
{
buf[j+1]=buf[j];
}
else
{
break;
}
}
buf[j+1]=t;
}
return 0;
}
void printbuffer(int *buf,int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",buf[i]);
}
printf("\n");
}