Skip to content

Commit 3c0a5bc

Browse files
committed
add C++ Algorithm
add C++ Algorithm
1 parent fd6155a commit 3c0a5bc

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

1.bubbleSort.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,37 @@
2121
![动图演示](res/bubbleSort.gif)
2222

2323

24-
## 3. 什么时候最快
25-
26-
当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。
27-
28-
29-
## 4. 什么时候最慢
24+
## 3. C++代码实现
25+
```cpp
26+
/*
27+
冒泡排序,升序排列
28+
O(N^2)时间复杂度,O(1)空间复杂度
29+
*/
30+
void changeValue(int *a, int *b)
31+
{
32+
int temp = *a;
33+
*a = *b;
34+
*b = temp;
35+
}
36+
vector<int> AlgorithmSort::bubbleSort(vector<int> vec)
37+
{
38+
int len = vec.size();
39+
//边界值判定
40+
if (len <= 1)
41+
return vec;
42+
//冒泡排序
43+
for (int i = 0; i < len; i++)
44+
{
45+
for (int j = 0; j < len-1; j++)
46+
{
47+
if (vec[j] > vec[j + 1])
48+
changeValue(&vec[j], &vec[j + 1]);
49+
}
50+
}
3051

31-
当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗)。
52+
return vec;
53+
}
54+
```
3255
3356
3457
## 5. JavaScript 代码实现

0 commit comments

Comments
 (0)