C语言 百分网手机站

简单选择排序C语言实现

时间:2020-10-04 12:21:20 C语言 我要投稿

简单选择排序(C语言实现)

  导语:C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面我们来看看简单选择排序(C语言实现),希望对大家有所帮助。

  简单选择排序的算法实现思想是:第一趟,从n个记录当真找出 关键字最小的.记录与第一个记录交换;第二趟,从第二个记录开始的n-1个记录中找出关键字最小的记录与第二个记录交换;依次类推,直到整个序列按照关键字有序。

  下面实现一个简单的选择排序函数(按照逐渐递增方式进行排序):

  /* 选择排序算法的实现

  * array[] : 待排序的数组

  * length : 待排序的数组的长度

  */

  void selection_sort(int array[], int length)

  {

  int i, j, m;

  int temp; // 用于存放临时待排序的元素值

  for(i = 0; i < length -1; i++)

  {

  m = i;

  for(j = i + 1; j < length; j++)

  {

  if(array[j] < array[m])

  m = j;

  }

  if(m != i)

  {

  temp = array[i];

  array[i] = array[m];

  array[m] = temp;

  }

  }

  }

  测试程序实现如下:

  /* 程序的入口函数 */

  int main()

  {

  int a[ARRAY_LENGTH];

  int i;

  /* 输入10个整形元素 */

  printf("Input %d numbers : ", ARRAY_LENGTH);

  for(i = 0; i < ARRAY_LENGTH; i++)

  {

  scanf("%d", &a[i]);

  }

  printf("**************************************************************** ");

  /* 把排序前元素都打印出来 */

  printf("The elements before sort is : ");

  for(i = 0; i< ARRAY_LENGTH; i++)

  {

  printf("%d ", a[i]);

  }

  printf(" ");

  printf("**************************************************************** ");

  /* 对元素进行有小到大的顺序进行排序 */

  selection_sort(a, ARRAY_LENGTH);

  /* 把排序后元素都打印出来 */

  printf("The elements after sort is : ");

  for(i = 0; i < ARRAY_LENGTH; i++)

  {

  printf("%d ", a[i]);

  }

  printf(" ");

  return 0;

  }

【简单选择排序(C语言实现)】相关文章:

冒泡排序(C语言实现)12-07

希尔排序(C语言实现)12-05

c语言中冒泡排序、插入排序、选择排序算法比较12-12

C语言实现归并排序算法实例11-21

希尔排序算法的C语言实现示例12-07

C语言的HashTable简单实现11-21

排序之一:直接插入排序(C语言实现)12-03

直接插入排序(C语言实现)12-17

JAVA简单选择排序算法及实现12-01