冒泡排序与快速排序的比较

冒泡排序易于理解:

#include<stdio.h>
int main()
{
	int arr[]={99,94,95,92,93,97,96,88,84,89};
	int i,j;
	for(i=0;i<10;i++){
		if(i!=9){
			printf("%d,",arr[i]);
		}else{
			printf("%d\n",arr[i]);
		}
	}
	for(i=8;i>=0;i--){
		for(j=0;j<=i;j++){
			if(arr[j]>arr[j+1]){
				int temp;
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;
			}
		}
		
	}
	for(i=0;i<10;i++){
		if(i!=9){
			printf("%d,",arr[i]);
		}else{
			printf("%d",arr[i]);
	}
 } 
}

快速排序对计算机而言节省时间:

#include<stdio.h>

void quick_sort(int array[],int left,int right)
{
	int i=left,j=right;
	int temp;
	int pivot;
	
	pivot=array[(left+right)/2];
	
	while(i<=j){
		//从左到右找到大于基准点的元素 
		while(array[i]<pivot){
			i++;
		}
		//从右到左找到小于基准点的元素 
		while(array[j]>pivot){
			j--;
		}
		//如果i<=j,则互换
		if (i<=j){
			temp=array[i];
			array[i]=array[j];
			array[j]=temp;
			i++;
			j--;
		}
	}
	if(left<j){
		quick_sort(array,left,j);
	}
	if(i<right){
		quick_sort(array,i,right);
	}
}

int main(void)
{
	int array[]={156,456,147,186,258,654,268,357,26,24};
	int i,len;
	
	len=sizeof(array)/sizeof(array[0]);
	quick_sort(array,0,len-1);
	
	printf("排序后的结果是:\n");
	for(i=0;i<len;i++){
		printf("%d  ",array[i]);
	}
	 
	return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值