mirror of
https://github.com/huihut/interview.git
synced 2024-03-22 13:10:48 +08:00
更新选择排序
This commit is contained in:
parent
9c123ec728
commit
a7a6e38cac
|
@ -1,5 +1,4 @@
|
|||
// 冒泡排序
|
||||
|
||||
void BubbleSort(vector<int>& v) {
|
||||
int temp;
|
||||
for (int i = 0; i < v.size() - 1; ++i) {
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
// 冒泡排序(跳过有序的改进版)
|
||||
|
||||
// 冒泡排序(改进版)
|
||||
void BubbleSort_orderly(vector<int>& v) {
|
||||
int temp;
|
||||
bool orderly = false;
|
||||
for (int i = 0; i < v.size() - 1 && !orderly; ++i) {
|
||||
orderly = true;
|
||||
for (int j = 0; j < v.size() - 1 - i; ++j) {
|
||||
if (v[j] > v[j + 1])
|
||||
{
|
||||
orderly = false;
|
||||
if (v[j] > v[j + 1]) { // 从小到大
|
||||
orderly = false; // 发生交换则仍非有序
|
||||
temp = v[j];
|
||||
v[j] = v[j + 1];
|
||||
v[j + 1] = temp;
|
||||
|
|
17
Algorithm/SelectionSort.h
Normal file
17
Algorithm/SelectionSort.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
// 选择排序
|
||||
void SelectionSort(vector<int>& v) {
|
||||
int min, temp;
|
||||
for (int i = 0; i < v.size() - 1; ++i) {
|
||||
min = i;
|
||||
for (int j = i + 1; j < v.size(); ++j) {
|
||||
if (v[j] < v[min]) { // 标记最小的
|
||||
min = j;
|
||||
}
|
||||
}
|
||||
if (i != min) { // 交换到前面
|
||||
temp = v[i];
|
||||
v[i] = v[min];
|
||||
v[min] = temp;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user