排序算法(C实现)(待补充)
程序员文章站
2022-05-12 16:55:20
...
冒泡排序:
void BS(int *nums,int Sta,int End){//需排序的片段首位序号
int temp;
for(int i=End;i>Sta;i--){
for(int j=Sta;j<i;j++){
if(nums[j]>nums[j+1]){
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
}
快速排序(递归):
void QS(int *nums,int low,int high){//需排序的片段首位序号
if(high>low){
int low1=low,high1=high,flag=nums[low],temp;
while(high1>low1){
while(high1>low1 && nums[high1]>=flag) high1--;
nums[low1]=nums[high1];
while(high1>low1 && nums[low1]<flag) low1++;
nums[high1]=nums[low1];
}
nums[low1]=flag;
QS(nums,low,low1-1);
QS(nums,low1+1,high);
}
}
下一篇: 一斤黑木耳之爱情笑话