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;
	
	
	
	
} 


原创文章 50 获赞 33 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qiulh125/article/details/50403655
今日推荐