开发者社区> 问答> 正文

C语言:给定一数组,包涵n个元素,设计功能函数,使用选择排序法,对其进行从大到小排序

C语言:给定一数组,包涵n个元素,设计功能函数,使用选择排序法,对其进行从大到小排序

展开
收起
知与谁同 2018-07-22 17:09:34 2127 0
1 条回答
写回答
取消 提交回答
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    //选择排序算法,按从小到大顺序
    void select_sort(int *arr,int n)
    {
        int i,j,k;
        int tmp;

        for(i=0;i<n-1;i++)
        {
            k=i;  //开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素
            for(j=i+1;j<n;j++)
            {
    if(arr[k] > arr[j]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
        k=j;
            }
    //如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
            if(k != i)
            {
                tmp=arr[k];
                arr[k]=arr[i];
                arr[i]=tmp;
            }
        }
    }
    2019-07-17 22:49:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载