|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 柿子饼同学 于 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[i] < mid){
- i++;
- }
- while(nums[j] > mid){
- j--;
- }
- if(i <= j){
- swap(nums[i], nums[j]);
- 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[i] << ' ';
- }
- return 0;
- }
复制代码
检查好几遍了, 还是不知道问题所在...
求帮助~
本帖最后由 jhq999 于 2022-6-4 22:02 编辑
第一个数是输入的数据的数量,后面才是排序的数据
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++){
复制代码
|
|