摘要:
排序算法基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,然后分别对这两部分继续进行排序,以达到整个记录有序。排序算法中Partition函数的作用可通过下图描述:首先,定义i、j,i指向首元素的前一个位置,j指向首元素。然后,比较第j个元素和第r个元素大小,若第j个元素小,则i+1,交换第i个元素和第j个元素最后,循环结束,交换第i+1个元素和第r个元素通过上面的步骤,就可以达到将待排序的元素分割成两个独立部分,并且前面部分最大元素小于后面部分最小元素。快速排序 1 #include <iostream> 2 using names 阅读全文
随笔档案-2011年10月2日
排序算法-------堆排序
2011-10-02 10:32 by ...平..淡..., 231 阅读, 收藏,
摘要:
堆排序原理:首先构建最大堆,然后将第一个元素与最后一个元素交换,接着长度减1,继续构建最大堆,直到排序完成。堆排序 1 /* 2 步骤: 3 4 ①.构建最大堆 5 ②.交换首尾元素 6 ③.长度减1,重新构建最大堆 7 ④.循环②、③步骤 8 */ 9 #include <iostream>10 using namespace std;11 12 13 //元素交换14 void swap(int &a,int &b)15 {16 int temp=a;17 a=b;18 b=temp;19 }20 21 /*/////////////////////////// 阅读全文
排序算法-------插入排序
2011-10-02 10:04 by ...平..淡..., 166 阅读, 收藏,
摘要:
插入排序原理:将第i个元素与前i-1个元素从右向左开始比较,若第i个元素小,则将前面的元素向后移,直到找到可以插入的位置。插入排序 1 #include <iostream> 2 using namespace std; 3 4 5 //元素交换 6 void swap(int &a,int &b) 7 { 8 int temp=a; 9 a=b;10 b=temp;11 }12 13 /*///////////////////////////////////////////////14 插入排序15 */16 void InsertSort(int *a,int 阅读全文
排序算法-------简单选择排序
2011-10-02 09:41 by ...平..淡..., 211 阅读, 收藏,
摘要:
选择排序原理:循环查找n个元素中最小的元素,与第一个元素进行交换;继续查找n-1个元素中最小的元素,与第二个元素交换.....直至完成简单选择排序 1 #include <iostream> 2 using namespace std; 3 4 5 //元素交换 6 void swap(int &a,int &b) 7 { 8 int temp=a; 9 a=b;10 b=temp;11 }12 13 /*///////////////////////////////////////////////14 简单选择排序15 */16 void SelectSort(i 阅读全文
浙公网安备 33010602011771号