Commit a7a6e38 1 parent 9c123ec commit a7a6e38 Copy full SHA for a7a6e38
File tree 4 files changed +22
-7
lines changed
4 files changed +22
-7
lines changed Original file line number Diff line number Diff line change 1
1
// 冒泡排序
2
-
3
2
void BubbleSort (vector < int > & v ) {
4
3
int temp ;
5
4
for (int i = 0 ; i < v .size () - 1 ; ++ i ) {
Original file line number Diff line number Diff line change 1
- // 冒泡排序(跳过有序的改进版)
2
-
1
+ // 冒泡排序(改进版)
3
2
void BubbleSort_orderly (vector < int > & v ) {
4
3
int temp ;
5
4
bool orderly = false;
6
5
for (int i = 0 ; i < v .size () - 1 && !orderly ; ++ i ) {
7
6
orderly = true;
8
7
for (int j = 0 ; j < v .size () - 1 - i ; ++ j ) {
9
- if (v [j ] > v [j + 1 ])
10
- {
11
- orderly = false;
8
+ if (v [j ] > v [j + 1 ]) { // 从小到大
9
+ orderly = false; // 发生交换则仍非有序
12
10
temp = v [j ];
13
11
v [j ] = v [j + 1 ];
14
12
v [j + 1 ] = temp ;
Original file line number Diff line number Diff line change
1
+ // 选择排序
2
+ void SelectionSort (vector < int > & v ) {
3
+ int min , temp ;
4
+ for (int i = 0 ; i < v .size () - 1 ; ++ i ) {
5
+ min = i ;
6
+ for (int j = i + 1 ; j < v .size (); ++ j ) {
7
+ if (v [j ] < v [min ]) { // 标记最小的
8
+ min = j ;
9
+ }
10
+ }
11
+ if (i != min ) { // 交换到前面
12
+ temp = v [i ];
13
+ v [i ] = v [min ];
14
+ v [min ] = temp ;
15
+ }
16
+ }
17
+ }
Original file line number Diff line number Diff line change 43
43
### 排序
44
44
45
45
* [ 冒泡排序] ( Algorithm/BubbleSort.h )
46
- * [ 冒泡排序(跳过有序的改进版)] ( Algorithm/BubbleSort_orderly.h )
46
+ * [ 冒泡排序(改进版)] ( Algorithm/BubbleSort_orderly.h )
47
+ * [ 选择排序] ( Algorithm/BubbleSort_orderly.h )
47
48
48
49
## Problems
49
50
You can’t perform that action at this time.
0 commit comments