欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

排序算法(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);
    }
}
相关标签: 笔记 排序算法