- 博客(3)
- 收藏
- 关注
转载 十种排序算法
1.常见算法分类 十种常见排序算法一般分为以下几种: (1)非线性时间比较类排序:交换类排序(快速排序和冒泡排序)、插入类排序(简单插入排序和希尔排序)、选择类排序(简单选择排序和堆排序)、归并排序(二路归并排序和多路归并排序); (2)线性时间非比较类排序:计数排序、基数排序和桶排序。 总结: (1)在比较类排序中,归并排序号称最快,其次是快速排序和堆排序,两者不相伯仲,但是有一点需要注意,数据...
2018-09-18 15:55:29
205
原创 两个数交换
1.借助第3个变量 int a = 1,b = 2,c; c = a; / * 保存 a */ a = b; b = c; 2.不使用第3个变量 2.1 亦或方法 int a = 1,b = 2; a = a ^ b; b = a ^ b ; /* a ^ b ^ b == a */ a = a ^ b ; /* a ^ b ^ a == b */ 2.2 加法方法 int ...
2018-09-16 18:07:38
163
转载 二分法变体
二分法真的不那么简单,主要利用边界来思想,实现了二分法的各个变种。 这里假定查找区按升序排列(arr数组成员递增) 1.找出第一个与key相等的元素 int *binary_search(int *arr, int key,int n) { int left = 0, right = n-1; while(left<=right) { int mid...
2018-09-14 23:59:15
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅