vlambda博客
学习文章列表

算法学习——选择排序

科技A集
收集各类实用软件及学习资料
1篇原创内容
Official Account
每日一练

选择排序

算法思路:

  • 选出一个值,假定为最大值或最小值(一般选择第一个位置的值,这里用升序排序为例)

  • 用第一个位置的值依次和它后面的所有值进行比较(如果该值大于其后面的值,则进行交换,否则,不交换)

  • 找出第一个值则为最小值,然后第二个值再与其后面的所有值进行比较,以此类推,直至得出最后结果



程序示例:
#include<stdio.h>int main(){   int arr[] = {32, 5, 34, 87, 2 };   int i, j, tmp = 0;   for(i=0; i<5-1; i++)   {     for(j=i; j<5; j++)    {    if(arr[i] > arr[j])    {    tmp = arr[i];         arr[i] = arr[j];         arr[j] = tmp;    }    }   }   for(i=0; i<5; i++)   {    printf("%d ", arr[i]);   }  return 0;}