快排出现错误
本帖最后由 柿子饼同学 于 2022-6-3 22:43 编辑#include <bits/stdc++.h>
using namespace std;
vector<int> nums;
void qs(vector<int> & nums, int l, int r){
int i = l, j = r, mid = nums[(l+r)/2];
while(i <= j){
while(nums < mid){
i++;
}
while(nums > mid){
j--;
}
if(i <= j){
swap(nums, nums);
i++; j--;
}
}
if(i < r){
qs(nums, i, r);
}
if(l < j){
qs(nums,l, j);
}
}
int main(){
ios::sync_with_stdio(0);
int n;
cin >> n;
for(int i = 0; i < n; i++){
int temp;
cin >> temp;
nums.push_back(temp);
}
qs(nums, 0, nums.size()-1);
for(int i = 0; i < n; i++){
cout << nums << ' ';
}
return 0;
}
检查好几遍了, 还是不知道问题所在...
求帮助~ 有报错信息吗? 本帖最后由 jhq999 于 2022-6-4 10:04 编辑
没看出什么毛病 傻眼貓咪 发表于 2022-6-4 09:15
有报错信息吗?
就这样 jhq999 发表于 2022-6-4 09:33
没看出什么毛病
没有报错 , 只是打印不全 本帖最后由 jhq999 于 2022-6-4 22:02 编辑
柿子饼同学 发表于 2022-6-4 21:43
没有报错 , 只是打印不全
第一个数是输入的数据的数量,后面才是排序的数据
5 3 2 1 5 4
1 2 3 4 5
4 6 9 6 9
6 6 9 9
cin >> n;
for(int i = 0; i < n; i++){ jhq999 发表于 2022-6-4 21:58
第一个数是输入的数据的数量,后面才是排序的数据
5 3 2 1 5 4
1 2 3 4 5
哦哦哦哦哦哦我忘了哈哈哈哈{:10_266:}
页:
[1]