046.选择排序

简介: 046.选择排序
#include <stdio.h>
#define MAX 255
int R[MAX];
void Select_Sort(int n)
{
   int i,j,k;
   for(i=1;i<n;i++)
   {/* 做第i趟排序(1≤i≤n-1) */
     k=i;
     for(j=i+1;j<=n;j++) /* 在当前无序区R[i..n]中选key最小的记录R[k] */
       if(R[j]<R[k])
         k=j; /* k记下目前找到的最小关键字所在的位置 */
       if(k!=i)
       { /* 交换R[i]和R[k] */
         R[0]=R[i]; R[i]=R[k]; R[k]=R[0]; /* R[0]作暂存单元 */
       } /* endif */
     } /* endfor */
} /* end of Select_Sort */
void main()
{
  int i,n;
  clrscr();
  puts("Please input total element number of the sequence:");
  scanf("%d",&n);
  if(n<=0||n>MAX)
  {
    printf("n must more than 0 and less than %d.\n",MAX);
    exit(0);
  }
  puts("Please input the elements one by one:");
  for(i=1;i<=n;i++)
    scanf("%d",&R[i]);
  puts("The sequence you input is:");
  for(i=1;i<=n;i++)
    printf("%4d",R[i]);
  Select_Sort(n);
  puts("\nThe sequence after select_sort is:");
  for(i=1;i<=n;i++)
    printf("%4d",R[i]);
  puts("\n Press any key to quit...");
  getch();
}
相关文章
|
8天前
|
人工智能 搜索推荐 C语言
选择排序
选择排序是一种简单直观的排序算法。其基本思想是每次从未排序部分找到最小(或最大)元素,将其放到已排序部分的末尾,直至所有元素排序完成。示例代码展示了如何使用 C 语言实现选择排序,并对一个整数数组进行排序。
12 5
|
5月前
|
算法 搜索推荐 Java
选择排序就是这么容易
选择排序就是这么容易
34 0
|
6月前
|
人工智能 算法 搜索推荐
2.选择排序
2.选择排序
22 0
|
6月前
|
搜索推荐 C++
C++选择排序的实现
C++选择排序的实现
|
搜索推荐
16 选择排序
16 选择排序
30 0
|
机器学习/深度学习 搜索推荐 算法
选择排序的实现
选择排序的实现
106 1
|
搜索推荐 C语言
选择排序就这么简单
从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。
166 0
选择排序就这么简单
|
算法 搜索推荐 测试技术
直接选择排序
直接选择排序
109 0
直接选择排序
|
搜索推荐 算法 JavaScript