今天我不知道要做什麼,所以來給一下大一大二最常用的程式碼XD。
bubble sort:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int count,temp1,temp2,tempnum;
int I[]={99,1,3,5,88,70};
int L=sizeof(I)/sizeof(int);
printf("長度%d\n初始值:",L);
for(count=0;count<L;count++){
printf("%d ",I[count]);
}
printf("\n以下進行排列:\n");
for(temp1=0;temp1<L-1;temp1++)
{
printf("第%d層↓\n",temp1+1);
for(temp2=0;temp2<(L-1)-temp1;temp2++)
{
if(I[temp2]>I[temp2+1])
{
tempnum=I[temp2+1];
I[temp2+1]=I[temp2];
I[temp2]=tempnum;
}
for(count=0;count<L;count++){
printf("%d ",I[count]);
}
printf("\n");
}
}
system("PAUSE");
return 0;
}
insertion sort
#include<stdio.h>
#include<stdlib.h>
int main()
{
int I[]={92,77,67,8,6,84,55,85,43,67};
int L=sizeof(I)/sizeof(int);
int count,step,temp,space;
printf("排序前:\n");
for(count=0;count<L;count++)
{
printf("%d ",I[count]);
}
printf("\n\n");
for(step=1;step<L;step++)
{
printf("排好%d個:",step+1);
temp=I[step];
for(space=step;space>0&&temp<I[space-1];space--)
{
I[space]=I[space-1];
}
I[space]=temp;
for(count=0;count<L;count++)
{
printf("%d ",I[count]);
}
printf("\n");
}
printf("\n排序後:\n");
for(count=0;count<L;count++)
{
printf("%d ",I[count]);
}
system("PAUSE");
return 0;
}
selection sort:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NUM 7
int main()
{
int a[NUM],j,k,z,f,temp;
srand(time(NULL));
for(z=0;z<NUM;z++){
a[z]=rand()%100;
printf("%d ",a[z]);
}
printf("\n");
for(j=0;j<NUM-1;j++){
f=j;
temp=a[j];
for(k=j+1;k<NUM;k++){
if(a[k]<a[f]){
f=k;
}
}
a[j]=a[f];
a[f]=temp;
for(z=0;z<NUM;z++){
printf("%d ",a[z]);
}
printf("\n");
}
system("pause");
return 0;
}