0
点赞
收藏
分享

微信扫一扫

数据结构与算法选择排序分析

数据结构与算法选择排序分析_i++

选择排序它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素;

上代码:

void SelectSort(int* a, int len)

{

int begin = 0, end = len - 1;//控制循环边界

while (begin < end)

{

 int mini = begin, maxi = end;//假设,最小值是 begin 的位置,最大值是 end 的位置

 for (int i = begin; i <= end ; i++)

 {

  if (a[i] < a[mini])

  {

   mini=i;

  }

  if(a[i]>a[maxi])

  {

   maxi = i;

  }

 }

 Swap(&a[begin], &a[mini]);小的往左边换

 //如果begin跟maxi重叠,需要修正一下maxi的位置

 if (begin == maxi)

 {

  maxi = mini;

 }

 Swap(&a[maxi], &a[end]);//大的往右边换

 ++begin;

 --end;

}

}

举报

相关推荐

0 条评论