文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>(10)选择排序之一 简单选择排序

(10)选择排序之一 简单选择排序

时间:2011-05-02  来源:wang_gary

      简单选择排序(Simple Selection Sort),一趟简单选择排序的操作为:通过n - i 次关键字间的比较,从n - i + 1个记录中选出关键字最小的记录,并和第i(1 <= i <= n)个记录交换之。时间复杂度为O(n^2)。

// 简单选择排序
void CSelectionSort::SimpleSelectionSort(void)
{
const int count = 9;
int L[count] = {0, 49, 38, 65, 97, 76, 13, 27, 49};
for (int i = 0; i < count; ++i)
{
int j = SelectMinKey(L, count, i);
if (i != j)
{
int temp = L[i];
L[i]
= L[j];
L[j]
= temp;
}
}
//打印排序结果。
for (int i = 0; i < count; ++ i)
{
cout
<< L[i] << "\t";
}
cout
<< endl;
}


// 简单选择排序之选最小值
int CSelectionSort::SelectMinKey(int L[], int count, int i)
{
int index = i;
for (int j = i + 1; j < count; j++)
{
if (L[j] < L[index])
index
= j;
}
return index;
}

      简单选择排序是每次都要选取待排序序列里面,记录关键值最小的元素索引。然后和本次待排序序列的第一个元素交换。而起泡排序是只要发现相临的两个元素逆序就交换。

相关阅读 更多 +
排行榜 更多 +
哥布林弹球b服手游下载

哥布林弹球b服手游下载

休闲益智 下载
小马样式盒游戏下载

小马样式盒游戏下载

休闲益智 下载
异变小镇中文版下载安装

异变小镇中文版下载安装

冒险解谜 下载