冒泡排序,选择排序,快速排序

本文介绍了三种常见的排序算法:冒泡排序,通过重复遍历数组,交换相邻位置的元素来排序;选择排序,每次从未排序部分找出最小(大)元素并放到已排序部分的末尾;快速排序,采用分治策略,通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.冒泡排序

冒泡排序(Bubble Sort) 最为简单的一种排序,通过重复走完数组的所有元素,通过打擂台的方式两个两个比较,直到没有数可以交换的时候结束这个数,再到下个数,直到整个数组排好顺序。因一个个浮出所以叫冒泡排序。双重循环时间O(n^2)
void BubbleSort ( int arr[] , int len ){  //冒泡排序算法 
	
	if(arr==NULL||len<=0)
    {
        return ;
    }
	int temp;
        bool isSorted = false;
	for(int i=0; i<len && !isSorted; i++ )
                isSord = true; //判断是否是有序的,如果是第一轮是有序的则不进行后面的排序。
		for(int j=0; j<len-i-1; j++)
			if(arr[j] > arr[j+1]){
                               isSorted = false; 
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
	print(arr,len);
}
 

2.选择排序

选择排序(Select Sort) 是直观的排序,通过确定一个Key最大或最小值,再从带排序的的数中找出最大或最小的交换到对应位置。再选择次之。双重循环时间复杂度为O(n^2)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值