#include <iostream>
#include <vector>
using namespace std;
//插入排序
//算法时间复杂度 log(n*n)
//额外空间复杂度 O(1)
void Insert_Sort(vector <int> &num_s)
{
if (num_s.size() == 1)
return;
for (int i = 1; i < num_s.size(); i++)
{
for (int j = i; j > 0; j--)
{
if (num_s[j - 1] > num_s[j])
{
int temp = num_s[j - 1];
num_s[j - 1] = num_s[j];
num_s[j] = temp;
}
}
}
}
int main()
{
int num;
vector <int> num_s;
while(cin >> num)
num_s.push_back(num);
cout << "the original data is: " << endl;
for (int i = 0; i < num_s.size(); i++)
cout << num_s[i] << ' ';
Insert_Sort(num_s);
cout << endl << "the Insert_Sort data is" << endl;
for(int i = 0; i < num_s.size(); i++)
cout << num_s[i] << ' ';
system("pause");
return 0;
}
C++排序(3)——插入排序
最新推荐文章于 2022-05-24 21:55:37 发布
本文深入讲解了插入排序算法的实现原理,提供了详细的C++代码示例,并演示了如何使用该算法对一组输入数据进行排序。文章通过具体实例,展示了算法的时间复杂度为O(n^2),并解释了其在小规模数据集上的高效表现。
2957

被折叠的 条评论
为什么被折叠?



