您的位置:首页 > 其它

【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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: