选择排序
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void xuanze(int *a)
{
int i,j,t;
for(i=0;i<10;i++)
{
for(j=i;j<10;j++)
{
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
int main()
{
int a[10];
srand(time(NULL));
int i;
for(i=0;i<10;i++)
a[i]=rand();
xuanze(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
插入排序:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void charu(int *a)
{
int i,j;
for(i=1;i<10;i++) //从列表第二个元素开始遍历
{
j=i-1; // j 为有序区最后一个元素
int t=a[i];
while(j>=0 && a[j]>t) // 当a[i]小于有序区最后一个元素时,依次将有序区数据向后移,直到
找到比a[i]大的数
{
a[j+1]=a[j];
j--;
}
a[j+1]=t; //并将 t 赋值给a[j+1]
}
}
int main()
{
int a[10];
srand(time(NULL));
int i;
for(i=0;i<10;i++)
a[i]=rand();
charu(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}