zoukankan      html  css  js  c++  java
  • 我的选择排序

     1 #define MaxLen 256
     2 #include <stdio.h>
     3 void main()
     4 {   
     5       int s[MaxLen]={0};
     6       int i=0;
     7       int count=0;
     8       int *pmin=0;   
     9       printf("你要对多少个数字进行选择排序?\n请输入:");
    10       scanf("%d",&i);
    11       if(i>MaxLen)
    12       {
    13             printf("数字过大,重新输入:");
    14             scanf("%d",&i);
    15       }
    16       printf("你要对%d个数字进行选择排序,这个数字序列是:\n",i);
    17       for (int k=0; k<i; k++)
    18       {
    19             scanf("%d",&s[k]);
    20       }
    21 
    22       for (;count<i;count++)
    23       {
    24             pmin=&s[count];
    25             for (int t=count; t<i; t++)        //和自己对比一次;数组谨防越界。
    26             {
    27                   if (*pmin>s[t])   
    28                         pmin=&s[t];
    29             }
    30             if(*pmin<s[count])                //不加这个判断语句,倘若count循环进行到倒数第二次时恰好排好,会出现逻辑问题
    31             {
    32                   *pmin^= s[count];
    33                   s[count]^= *pmin;
    34                   *pmin^= s[count];
    35             }
    36       }
    37       printf("\n");
    38       for (int j=0; j<i; j++)
    39       {
    40             printf("%3d",s[j]);
    41       }
    42       printf("\n");
    43 }
    44  
  • 相关阅读:
    PowerDesigner11.0的SQL生成表,写列描述出错
    centos中crontab(计时器)用法详解
    5.14
    4.13
    5.15
    监听服务启动失败
    4.24
    Enjoy 4.26
    4.14
    export
  • 原文地址:https://www.cnblogs.com/xupengzhuo/p/1998329.html
Copyright © 2011-2022 走看看