|
|
|
@ -1,2 +1,84 @@
|
|
|
|
|
# include
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
#define N 10010
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
int n, a[N],t;
|
|
|
|
|
scanf("%d", &n);
|
|
|
|
|
for(int i = 0; i < n; i ++)
|
|
|
|
|
scanf("%d", &a[i]);
|
|
|
|
|
for(int i=0; i<n-1;i++)
|
|
|
|
|
for(int j=0; j<n-1-i; j++)
|
|
|
|
|
if(a[j]>a[j+1])
|
|
|
|
|
{
|
|
|
|
|
t=a[j];
|
|
|
|
|
a[j]=a[j+1];
|
|
|
|
|
a[j+1]=t;
|
|
|
|
|
}
|
|
|
|
|
for(int i = 0; i < n; i ++)
|
|
|
|
|
printf("%d ", a[i]);
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
//冒泡法
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
void sort(int a[],int n);
|
|
|
|
|
int i,a[10];
|
|
|
|
|
for(i=0;i<10;i++)
|
|
|
|
|
scanf("%d",&a[i]);
|
|
|
|
|
sort(a,10);
|
|
|
|
|
for(i=0;i<10;i++)
|
|
|
|
|
printf("%5d",a[i]);
|
|
|
|
|
printf("\n");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
void sort(int a[],int n)
|
|
|
|
|
{
|
|
|
|
|
int min,i,j,t;
|
|
|
|
|
for(i=0;i<n-1;i++)
|
|
|
|
|
{
|
|
|
|
|
min=i;
|
|
|
|
|
for(j=i+1;j<n;j++)
|
|
|
|
|
if(a[min]>a[j])
|
|
|
|
|
min=j;
|
|
|
|
|
t=a[i];a[i]=a[min];a[min]=t;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//选择法排序
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
#include<string.h>
|
|
|
|
|
#define len 5
|
|
|
|
|
void insertSort(int a[])
|
|
|
|
|
{
|
|
|
|
|
int i,j,temp;
|
|
|
|
|
for(i=1;i<len;i++)
|
|
|
|
|
{
|
|
|
|
|
temp = a[i];
|
|
|
|
|
if(a[i] < a[i-1])
|
|
|
|
|
{
|
|
|
|
|
for(j=i-1;temp<a[j];j--)
|
|
|
|
|
{
|
|
|
|
|
a[j+1] = a[j];
|
|
|
|
|
}
|
|
|
|
|
a[j+1] = temp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
int a[] = {45,32,56,71,12};
|
|
|
|
|
int i;
|
|
|
|
|
printf("未排序前:\n");
|
|
|
|
|
for(i=0;i<len;i++)
|
|
|
|
|
{
|
|
|
|
|
printf("%d ", a[i]);
|
|
|
|
|
}
|
|
|
|
|
printf("\n经过直接插入排序后:\n");
|
|
|
|
|
insertSort(a);
|
|
|
|
|
for(i=0;i<len;i++)
|
|
|
|
|
{
|
|
|
|
|
printf("%d ", a[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//插入法
|
|
|
|
|