【Data_Structure笔记5】排序算法之【选择类排序】
2017-08-26 15:27
531 查看
/************************************************************************************************************************ 文件说明: 选择类排序 【1】简单选择排序 【2】堆排序 选择排序的思想: 【1】选择排序的基本思想是:每一趟(例如第i趟)在后面n-i+1个待排序列元素中选取关键字最小的元素,作为有序子序列的第 i个元素,直到第n-1趟做完 【2】选择排序中的堆排序是重点算法 *************************************************************************************************************************/ #include<iostream> using namespace std; /************************************************************************************************************************ 模块说明: 简单选择排序 基本思想: 假设待排序表为L[1....n],第i趟排序即从L[i....n]z中选择关键字最小的元素与L(i)交换,每一趟排序可以确定一个元素的最终 位置,这样经过n-1趟排序,就可以是的整个排序表有序。 *************************************************************************************************************************/ template<typename ElemType>static void SelectSort(ElemType arrayT[],int iLength) { int iMin = 0; int iTemp= 0; for(int i=0;i<(iLength-1);i++) { iMin = i; for(int j=i+1;j<iLength;j++) { if(arrayT[j]<arrayT[iMin]) { iMin = j; } }//for j if(iMin!=i) { iTemp = arrayT[i]; arrayT[i] = arrayT[iMin]; arrayT[iMin] = iTemp; } }//for i } /************************************************************************************************************************ 模块说明: 控制台应用程序的入口点 *************************************************************************************************************************/ int main(int argc,char* argv[]) { int arrayT[15] = {22,32,44,34,56,21,24,345,213,234,245,127,113,119,933}; SelectSort<int>(arrayT,15); for(int i=0;i<15;i++) { std::cout<<arrayT[i]<<std::endl; } std::system("pause"); return 0; }
相关文章推荐
- 【Data_Structure笔记7】排序算法之【链式基数排序】
- 【Data_Structure笔记6】排序算法之【二路归并排序】
- 【Data_Structure笔记4】排序算法之【交换类排序】
- 【Data_Structure笔记3】排序算法之插入排序常见的三种算法
- 【Data_Structure笔记8】排序算法之【选择排序---堆排序】
- 【Data_Structure笔记11】查找算法之【二叉排序树】
- 【Data_Structure笔记12】查找算法之【基于二叉排序树的查找】
- 【Data_Structure笔记9】查找算法之【顺序查找和折半查找】
- 【Data_Structure笔记10】查找算法之【哈希查找或散列表查找法】
- 数据结构学习笔记一:简单排序与查询算法
- C++ Data Structure 学习笔记 (2011.5.2)——Cin的用法详解以及文件的读取
- 算法学习笔记之插入排序
- 算法动态演示http://cst.hit.edu.cn/datastructure/teachassist/suanfadongtaiyanshi.php
- 《算法》阅读笔记-2.3 快速排序
- [学习笔记]排序算法之 二分法查找
- 【Data_Structure笔记13】【树】的相关操作
- 数据结构与算法学习笔记之 适合大规模的数据排序
- 算法精讲学习笔记 排序(一)
- 算法笔记_005:堆排序问题【变治法】
- 算法笔记:(一)插入排序:直接插入排序(Straight Insertion Sort)