iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 20
0
自我挑戰組

資工的日常系列 第 20

C 常用的sorting bubble sort,insertion sort,selection sort

  • 分享至 

  • xImage
  •  

今天我不知道要做什麼,所以來給一下大一大二最常用的程式碼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;
}

上一篇
CPE 考題 Jingle Composing
下一篇
HTML Bootstrap 4 Cards
系列文
資工的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言