C语言 百分网手机站

C++选择排序算法实例

时间:2020-09-07 10:46:10 C语言 我要投稿

C++选择排序算法实例

  选择排序是一种简单直观的排序算法,下面小编为大家整理了C++选择排序算法实例,希望能帮到大家!

  选择排序是一种简单直观的排序算法,它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的`末尾。以此类推,直到所有元素均排序完毕。

  选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。选择排序的时间复杂度也为O(n^2)。

  代码实现

  复制代码 代码如下:

  #include

  using namespace std;

  void SelectSort(int arr[], int length)

  {

  int temp, min;

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

  {

  min = i;

  // 寻找最小值

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

  {

  if (arr[j] < arr[min])

  min = j;

  }

  // 交换

  if (min != i)

  {

  temp = arr[i];

  arr[i] = arr[min];

  arr[min] =temp;

  }

  }

  }

  int main()

  {

  int arr[10] = {2, 4, 1, 0, 8, 4, 8, 9, 20, 7};

  SelectSort(arr, sizeof(arr) / sizeof(arr[0]));

  for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)

  {

  cout<<arr[i]<<" ";

  }

  cout<<endl;

  return 0;

  }

【C++选择排序算法实例】相关文章:

C++归并排序算法实例09-26

C++插入排序算法实例09-25

C语言冒泡排序算法实例11-21

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

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

C语言插入排序算法及实例代码10-08

C语言奇偶排序算法详解及实例代码10-04

C语言中使用快速排序算法对元素排序的实例10-02

C++实现自顶向下的归并排序算法10-01

C++实现自底向上的归并排序算法10-01