源代码:
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
//冒泡排序,时间复杂度比较高,O(n^2)
vector<int> bubbleSort(vector<int>& nums)
{
for (int i = 0; i < nums.size(); i++)
{
for (int j = 0; j < nums.size() - 1 - i; j++)
{
if (nums[j]>nums[j + 1])
{
int tmp = nums[j + 1];
nums[j + 1] = nums[j];
nums[j] = tmp;
}
}
}
return nums;
}
//选择排序,时间复杂度在O(n^2)
vector<int> selectionSort(vector<int>& nums)
{
for (int i = 0; i < nums.size() - 1; i++)
{
for (int j = i + 1; j < nums.size() - 1; j++)
{
if (nums[i] > nums[j])
{
int tmp = nums[j];
nums[j] = nums[i];
nums[i] = tmp;
}
}
}
return nums;
}
//插入排序
vector<int> insertionSort(vector<int>& nums)
{
int num = nums.size() - 1;
for (int i = 1; i<num; i++)
{
int temp = nums[i], j;
for (j = i; j>0 && temp < nums[j - 1]; j--)
{
nums[j] = nums[j - 1];
}
nums[j] = temp;
}
return data;
}
int main()
{
vector<int> nums = {1,3,5,2,7,8,12};
vector<int> result = insertionSort(nums);
for (int i = 0; i < result.size(); i++)
{
cout << result[i] << endl;
}
system("pause");
return 0;
}