07-11 冒泡排序、选择排序

博客主要对冒泡和选择排序算法进行总结。冒泡排序是相邻两数对比,将最大或最小数置于数组一端;选择排序是首端或末端数与后面数比较,循环得出排序结果。最后指出两算法各有优劣,关键是理解算法核心。

排序算法有很多,这里就对最简单的俩种冒泡和选择排序总结下自己的理解

1.冒泡排序:
冒泡排序就是把相邻的俩个数进行对比,得出相对大的数继续向后面对比,一圈下来得到最大(最小)的数放在数组最右(左),然后继续把剩下的数用同样的道理对比得出数组大小排序后的结果。
代码如下:

for (i = 0; i < len; i++) { //冒泡排序
		for (j = 0; j < len-1-i; j++) {
			if (arr[j] < arr[j+1]) {
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	} 

2.选择排序:
选择排序就是在数组中把首端(末端)的数和后面所有的数进行比较得出最大(最小)的数,然后把第二个数与后面的数比较得出第二大的数,如此循环i-1次,就能得出排序完后的数组。
代码如下:

for (i = 0; i < len - 1; i++) {  // 选择排序
		for (j = i+1; j < len; j++) {
			if (arr[i] < arr[j]) {
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}

总结: 冒泡和选择算法各有千秋,选择排序我感觉更好理解(刚开始学),不过用那个都可以 ,不用局限于这俩个,还有更多别的算法,主要是理解,理解了算法核心,都没什么难的。?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值