可以可以
不好意思我居然没看到
[C++] 纯文本查看 复制代码 #include <stdio.h>
#include <vector>
std::vector<int> BubbleSort(const std::vector<int> arr)
{
int i, j;
int tmp;
//这里是从小到大排序,从大到小也可以
for (i = 1; i < 5; i++) {
//外层下标为1~5,表示了后四个元素
for (j = 4; i >= i; j--) {
//从最后一个元素向前循环
if (arr[j] < arr[j - 1]) {
//后一个元素比前一个元素大
//交换数值
tmp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = tmp;
//这几部很好理解
}
}
}
return arr;
}
int main(int argc, char** argv)
{
std::vector<int> arr = {1,0,2,9,3,8,4,7,5,6};
std::vector<int> res = BubbleSort(arr);
printf("排序结果:\n");
for (i = 0; i < 5; i++) {
//从下标0输出排序后的数组
printf("%d ",res[i]);
}
printf("\n"); //否则Press any key to continue会和数字再同一行
return 0;
}
|