首页 > 其他分享 >使用函数的选择法排序

使用函数的选择法排序

时间:2023-10-31 14:35:44浏览次数:22  
标签:sort 函数 int void 元素 选择 数组 排序

本题要求实现一个用选择法对整数数组进行简单排序的函数。

函数接口定义:

void sort( int a[], int n );

其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 10

void sort( int a[], int n );

int main()
{
    int i, n;
    int a[MAXN];
    
    scanf("%d", &n);
    for( i=0; i<n; i++ )
        scanf("%d", &a[i]);

    sort(a, n);

    printf("After sorted the array is:");
    for( i = 0; i < n; i++ )
        printf(" %d", a[i]);
    printf("\n");
        
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

4
5 1 7 6

输出样例:

After sorted the array is: 1 5 6 7

解题思想:

        选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。(来自百度百科)。

void sort( int a[], int n ){
    for(int i=0;i<n-1;i++){
        for(int j=i;j<n;j++){
            if(a[i]>a[j]){
                int t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }
}

标签:sort,函数,int,void,元素,选择,数组,排序
From: https://www.cnblogs.com/lavendery/p/17800152.html

相关文章

  • pytorch中squeeze()和unsqueeze()函数
     下面使用一个二维矩阵看下dim不同时呈现出的效果:   #创建一个3*4的全1二维tensor   a=torch.ones(3,4)   '''   运行结果tensor([[1.,1.,1.,1.],[1.,1.,1.,1.],[1.,1.,1.,1.]])'''在0维度上插入一个维度,可以看到现在......
  • 归并排序统计逆序对的数量
    788.逆序对的数量-AcWing题库 昨天刚好做到这题,发现网上题解都讲的不是很详细,于是决定自己手写一篇。 归并排序能统计逆序对的数量 为什么归并排序能统计逆序对数量???归并排序的特点是,以mid,mid+1为分界,对两边分别进行排序借助递归的性质先将两边都从小到大排好序,之......
  • 【算法题】2826. 将三个组排序
    题目:给你一个下标从0开始长度为n的整数数组nums。从0到n-1的数字被分为编号从1到3的三个组,数字i属于组nums[i]。注意,有的组可能是空的。你可以执行以下操作任意次:选择数字x并改变它的组。更正式的,你可以将nums[x]改为数字1到3中的任意一个。你将按......
  • Molecule 在构建工具中的选择
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:修能朝闻道,夕死可矣何为Molecule?轻量级的WebIDEUI框架——Molecule我们开源了一个轻量的WebIDEUI框架Molecule实现数栈至......
  • Python中常用的函数
    1.sorted()函数Python的内置函数sorted()是一种简单而强大的排序工具。它返回一个新的已排序列表,而不会改变原始列表。默认情况下,它按升序排序。2. python数组的基本结构#增加appendA=[1,2,3,4]A.append(5)#在数组末尾追加元素print(A)#删除removepop......
  • 文件同步软件选择准则
    随着科技的飞速发展,文件同步软件已成为我们日常工作中不可或缺的一部分。它可以帮助我们轻松地实现文件在不同设备、不同服务器之间的同步,确保数据的安全性和一致性。然而,市场上的文件同步软件种类繁多,如何选择适合自己的软件呢?本文将为您介绍文件同步软件选择准则。一、需求分......
  • 实验3 C语言函数应用编程
    一,实验目的二,实验准备三,实验内容1,实验任务1task1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<Windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);//函数声明8voidprint_spaces(intn);//......
  • python url 网址链接写函数()括号里不能访问显示403
    说明一则奇怪问题。同一个url网址链接,写到函数里就访问失败,写到变量里就可以正常访问。一、文件名test_url.pydefr_http(url): response=requests.get(url,headers=u_headers) print(f"response.status_code={response.status_code}")二、url直接写到调用的函数中,......
  • 复仇归并排序
     归并排序就是,把一群数据一直分,一直分,分到不能再分之后,一个个按顺序把你们装进去 讲讲第一个难点,上面两个mergesort归并,其实这是一个把人给分开,分成两组,接着再分,再分。。。分到没办法分的时候,往下走。。。然后接着就是定义指针ijk,然后就有一个困扰了我很久的问题,为什么可......
  • 欧拉函数 & 欧拉定理
    欧拉函数互质:对于\(\foralla,b\in\mathbb{N}\),若\(a,b\)的最大公因数为\(1\),则称\(a,b\)互质。欧拉函数:即$\varphi(N)$,表示从\(1\)到\(N\)中与\(N\)互质的数的个数。在算术基本定理中,任何一个大于\(1\)的整数都可以唯一分解为有限个质数的乘积,......