#include<stdio.h>
typedef long long ll;
ll quicksoft(ll arr[200],ll low,ll high){ //从小到大
if(low<high){
ll key=arr[low];
ll i=low;
ll j=high;
while(i<j){
while(i<j&&arr[j]>=key){ //从左向右寻找第一个小于key的数
j--;
}
if(i<j){
arr[i]=arr[j];
}
while(i<j&&arr[i]<key){ //从右向左寻找第一个大于等于key的数
i++;
}
if(i<j){
arr[j]=arr[i];
}
}
arr[i]=key;//确定第一个数的位置
quicksoft(arr,low,i-1); //分割
quicksoft(arr,i+1,high);
}
}
int main(){
ll n,a[200],k;
scanf("%lld",&n);
for(k=1;k<=n;k++){
scanf("%lld",&a[k]);
}
quicksoft(a,1,n);
for(k=1;k<=n;k++){
printf("%lld ",a[k]);
}
return 0;
}
这周还学习了新的定义方法:typedef?
|