摘要:
基本的二分查找算法:针对的是已经排好序的数组。 1 #include 2 3 using namespace std; 4 5 //二分查找算法 6 7 //返回-1表示没找到。 8 int binarySearch(int a[],int n,int target) 9 {10 i... 阅读全文
摘要:
冒泡排序基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。void bubbleSort(int a[],int n){ for(int i=0;ia[j+1]) { i... 阅读全文
摘要:
实现堆排序需要解决两个问题:1、如何将n个待排序的数建成堆2、输出堆顶元素之后。如何调整剩余n-1个元素,使其成为一个新堆使用最大堆来进行堆排序算法实现,所谓堆排序就是每次交换堆顶元素与堆中最后一个元素,然后对前面的堆中的元素从堆顶开始调整。具体代码如下: 1 #include 2 3 usin... 阅读全文
摘要:
1 /*简单选择排序每趟循环只能确定一个元素飘絮后的定位。我们可以考虑改进每趟循环确定两个元素(当前每趟最大和最小记录)的位置 2 *从而减少排序所需要的循环次数。改进后对n个数据进行排序,最多只需要n/2趟循环即可 3 */ 4 5 //二元选择排序 6 void BiSelectorSort... 阅读全文