常见排序算法
2017-06-09 17:19
134 查看
1.冒泡排序
#include <vector> #include <iostream> using namespace std; int main() { int a; vector<int> va; cin >> a; while (a != 0)//input 0 to terminate { va.push_back(a); cin >> a; if (a == 0) break; } for (auto x : va) cout << x << " "; cout << endl; bool flag = false; int temp; for (int i = 0; i < va.size(); i++) { flag = false; for (int j = va.size() - 1; j > i; j--) { if (va.at(j) < va.at(j - 1)) { temp = va.at(j - 1); va.at(j - 1) = va.at(j); va.at(j) = temp; flag = true; } } if (!flag) break; }; for (auto x : va) cout << x << " "; cout << endl; return 0; }
2.直接插入排序
#include <string> #include <vector> #include <iostream> using namespace std; vector<int> input_vector() { int a; vector<int> va; cin >> a; while (a != 0) { va.push_back(a); cin >> a; if (a == 0) break; } return va; } void print_vector(vector<int>&arr) { for (auto x : arr) cout << x << " "; cout << endl; } void insert_sort(vector<int> &arr) { int temp, j; for (int i = 1; i < arr.size(); i++) { if (arr.at(i - 1) > arr.at(i)) { temp = arr.at(i); for (j = i - 1; j >= 0 && arr.at(j) > temp; j--) arr.at(j + 1) = arr.at(j); arr.at(j + 1) = temp; } } } int main() { vector<int> va; va = input_vector(); print_vector(va); insert_sort(va); print_vector(va); system("pause"); return 0; }
相关文章推荐
- 复习----常见的排序算法
- 常见排序算法性能测试
- OC实现的各种简单常见的排序算法
- 几种常见排序算法
- 几种常见的排序算法对比
- Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等 .
- 常见算法之排序算法二【插入排序】
- 排序原始数据[置顶] 各种常见排序算法实现
- 常见的排序算法
- 常见排序算法-采用Objective-c实现
- 常见的排序算法
- 用Java实现几种常见的排序算法
- java 实现几种常见的排序算法
- 用python写一下常见的排序算法
- 常见排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 面试必备:常见排序算法的实现
- 几种常见的排序算法(C++版)
- 常见经典排序算法