d
2024-12-21 20:02:36
发布于:浙江
//第一个数输入一个n(1<=n<=1000),随后输入n个数。
//入n个数从小到大排序后的数据
#include<bits/stdc++.h>
using namespace std;
int n;
int a[1010];
int pos(int l,int r){
int k=a[l];
while(l<r){
while(l<r&&a[r]>= k) r--;
a[l] =a[r];
while(l<r&&a[l]<= k) l++;
a[r] =a[l];
}
a[l] =k;
return 1;
}
void QuickSort(int l,int r){
if(l>=r)return;
int mid=pos(l,r);
QuickSort(l,mid-1);
QuickSort(mid+1,r);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
QuickSort(1,n);
for(int i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}
全部评论 2
我这个对
//快速排序 //第一行输入一个n(1<=n<=1000),随后输入n个数。 //输出n个数从小到大排序后的数据。 #include <bits/stdc++.h> using namespace std; int n; int a[1010],b[1010]; int pos(int l,int r){ int k =a[l]; while(l < r){ while(l < r && a[r] >= k){ r--; } a[l] = a[r]; while(l < r && a[l] <= k){ l++; } a[r] = a[l]; } a[l] = k; return l; } void QuickSort(int l,int r){//l = 开始下标,r = 结束下标 if(l >= r) return; int mid = pos(l,r); QuickSort(l,mid-1); QuickSort(mid+1,r); } int main(){ cin >> n; for(int i=1;i <= n;i++){ cin >> a[i]; } QuickSort(1 , n); for(int i=1;i <= n;i++){ cout << a[i] << " "; } return 0; }
2024-12-21 来自 浙江
0//第一个数输入一个n(1<=n<=1000),随后输入n个数。 //入n个数从小到大排序后的数据 #include<bits/stdc++.h> using namespace std; int n; int a[1010]; int pos(int l,int r){ int k=a[l]; while(l<r){ while(l<r&&a[r]>= k) r--; a[l] =a[r]; while(l<r&&a[l]<= k) l++; a[r] =a[l]; } a[l] =k; return 1; } void QuickSort(int l,int r){ if(l>=r)return; int mid=pos(l,r); QuickSort(l,mid-1); QuickSort(mid+1,r); } int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; QuickSort(1,n); for(int i=1;i<=n;i++)cout<<a[i]<<" "; return 0; }
2024-12-21 来自 浙江
0
有帮助,赞一个