学习记录
zjyhyrl123
这个作者很懒,什么都没留下…
展开
-
二分查找+上界+下界
// 普通二分查找int bsearch(int *A, int l, int r, int val){ // [l, r) while(l < r){ int mid = l + (r - l) / 2; if(A[mid] == val) return mid; else if(A[mid] > val) r = mid; else l = mid + 1; } return -1;} // 查找下界// 当 x 存在时返回它出现的第一个位置,否则返回这样一个原创 2020-12-12 17:37:48 · 288 阅读 · 0 评论 -
排序算法学习总结
一.冒泡排序简单来说就是两两比较,把大的数换到后面,小的数换到前面,一轮比较后,最大的数就排到了最后面,总共要比较n-1轮,冒泡排序是一种稳定排序算法,即使两个数相等,也不会破坏它们原有位置。二.快速排序简单来说就是选定一个基准值,一般选取最后一个数为基准值,然后定义两个参数start,end,start从第一位开始扫描,end从最后一位开始扫描(包括基准值),如果start找到比基准值大的数,end找到比基准值小的数,就把两个位置交换一下,直到start与end相等,把start位置上的数与基准原创 2020-06-27 06:49:02 · 116 阅读 · 0 评论