zoukankan      html  css  js  c++  java
  • C语言数据结构之 简单选择排序

    算法:设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。

    编译器:VS2013

    代码

     1 #include "stdafx.h"
     2 #include<stdlib.h>
     3 #include<stdio.h>
     4 
     5 //函数声明
     6 
     7 void SelectSort(int a[], int n); //简单选择排序(从小到大)
     8 
     9 int main()
    10 {
    11     int i, n, a[100];
    12     printf("请输入需要排序元素的个数:");
    13     scanf_s("%d", &n);
    14     printf("随机生成的数组为:");
    15     for (i = 1; i <= n; i++)
    16     {
    17         a[i] = rand() % 100 + 1;
    18         printf("%d ", a[i]);
    19     }
    20     a[i] = '';
    21     printf("
    ");
    22 
    23     SelectSort(a, n);
    24 
    25 }
    26 
    27 //简单选择排序(从小到大)
    28 void SelectSort(int a[], int n)
    29 {
    30     int i = 1, j, k, min;
    31     for (min = a[1]; i <= n; i++)
    32     {
    33         k = i;
    34         for (j = i; j <= n; j++)
    35             if (a[j] < a[k])
    36                 k = j;
    37         if (k != i)
    38         {
    39             min = a[k];
    40             a[k] = a[i];
    41             a[i] = min;
    42         }
    43     }
    44     printf("
    简单选择排序后的结果(从小到大):");
    45     for (i = 1; i <= n; i++)
    46         printf("%d ", a[i]);
    47     printf("
    
    ");
    48 }

    结果

  • 相关阅读:
    Java Socket
    路由器和交换机的区别
    OSI七层协议
    traceroute命令
    DNS递归和迭代原理
    出栈入栈顺序问题
    A记录、CNAME记录、MX记录
    DNS解析原理
    RAID磁盘阵列0、1、5、10
    http状态码
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/6209661.html
Copyright © 2011-2022 走看看