文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>(3)插入排序之一直接插入排序

(3)插入排序之一直接插入排序

时间:2011-04-23  来源:wang_gary

    直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。时间复杂度为O(n^2)。理解:依次将每个待排序的记录插入到一个有序序列的合适位置。插入的位置是和有序序列的每一个元素进行比较,然后确定的。

void CInsertionSort::StraightInsertion(void)
{
//元素0是哨兵。
const int count = 9;
int L[count] = {0, 49, 38, 65, 97, 76, 13, 27, 49};
//对顺序表作直接插入排序。
for (int i = 2; i < count; i++)
{
if (L[i] < L[i - 1])
{
L[
0] = L[i];
int j = i - 1;
do
{
L[j
+ 1] = L[j];
j
--;
}
while (L[0] < L[j]);
L[j
+ 1] = L[0];
}
}
//打印排序结果。
for (int i = 0; i < count; ++ i)
{
cout
<< L[i] << "\t";
}
cout
<< endl;
}

默认循环最初的有序序列只有一个元素。

相关阅读 更多 +
排行榜 更多 +
方块枪战战场安卓版

方块枪战战场安卓版

飞行射击 下载
战斗火力射击安卓版

战斗火力射击安卓版

飞行射击 下载
空中防御战安卓版

空中防御战安卓版

飞行射击 下载