1. 程式人生 > >C#-氣泡排序和選擇排序

C#-氣泡排序和選擇排序

將一個數組排序

//排序
#include <stdio.h>
int main()
{
	int a[]={3,5,2,56,275,85,29,24};
	int temp,i,j;
	int length= sizeof(a) / sizeof(a[0]);//計算a[]的大小時,不要加‘[]’ 
//選擇排序	
	for(i=0;i<length-1;i++){
		for(j=i;j<length;j++){//選擇排序,每一次用一個數和所有其他數做比較,並且依次將最小的數移到兩端 
			if(a[i]<a[j]){
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
				
			} //從大往小 
		}
	}
	//遍歷陣列
	for(i=0;i<length;i++){
			printf("%d ",a[i]);
	}
			
	
	printf("\n");
		
//氣泡排序
	//氣泡排序就是每次將相鄰的兩個數做比較,每一次可以將最值找出,和氣泡排序的區別就是這樣 
	for(i=0;i<length-1;i++){
		for(j=0;j<length-i-1;j++){
		
			
			if(a[j+1] <a[j]){
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;//從小往大 
			}
	 	}	
	}
		
	for(i=0;i<length;i++){
			printf("%d ",a[i]);
	}
	printf("\n");
	return 0;
	
	
	
	
}