我为选择排序编写了这段代码,但它什么也没做

时间:2017-11-25 12:49:43

标签: c sorting

#include<stdio.h>


void swap(int a[60],int p, int min){
  int temp;
  if (min!=p){
    temp= a[p];
    a[p]=a[min];
    a[min]=temp;
  }
  return;
}

void selection(int a[60]){
  int p=0;
  do {
    int min = p;
    for ( int i=p+1;i<60;i++){
      if(a[min]>a[p])min=p;

    }
    swap(a,p,min);
    p++;
  } while(p<60);
}




int main(){
    int a[60];
    int p=0;
    while(p<60){
      scanf("%d\n",&a[p]);
      p++;
    }
    selection(a);
    p=0;
    while(p<60){
      printf("%d\n",a[p]);
      p++;
    }

    return 0;
}
  1. 主要是第一个功能从标准输入扫描60大小的数组。
  2. 调用上面定义的选择函数,它应该对数组进行排序
  3. 选择函数将变量p定义为能够通过数组60次
  4. 另一个for循环找到数组中的最低元素
  5. 如果找到,交换功能将数组值以最小值和p位置交换
  6. 循环运行60次以对数组进行排序
  7. 在主要功能
  8. 中调用打印数组

0 个答案:

没有答案