选择排序法与冒泡排序法的区别

时间:2021-04-17 22:09:57

以下是选择排序法与冒泡排序法的对比,给初学者的一个参考!

代码如下:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define N 12

int main(void)
{
int ch[N];
int i,j,min,temp;
printf("%d rand number:\n",N);
srand(time(NULL));
for(i=0;i<N;i++)
{
ch[i]=rand()%100; //产生100以内的随机数
printf("%d ",ch[i]);
}
printf("\n");
//selectsort
for(i=0;i<N;i++)
{
min=i;
for(j=i+1;j<N;j++)
{
if(ch[min]>ch[j])
{
min=j;
}
}
if(min != i)
{
temp=ch[i];
ch[i]=ch[min];
ch[min]=temp;
}
}

printf("selcet sorted is:\n");
for(i=0;i<N;i++)
{
printf("%d ",ch[i]);
}
printf("\n");


//bubblesort


for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(ch[j+1]<ch[j])
{
temp=ch[j];
ch[j]=ch[j+1];
ch[j+1]=temp;
}
}
}
printf("bubble sorted is:");
for(i=0;i<N;i++)
{
printf("%d ",ch[i]);
}
printf("\n");

//有不正之处请指正!