亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

C++選擇排序算法實(shí)例

時(shí)間:2025-02-25 06:05:29 C語言 我要投稿
  • 相關(guān)推薦

C++選擇排序算法實(shí)例

  選擇排序是一種簡單直觀的排序算法,下面小編為大家整理了C++選擇排序算法實(shí)例,希望能幫到大家!

  選擇排序是一種簡單直觀的排序算法,它的工作原理如下。首先在未排序序列中找到最。ù螅┰兀娣诺脚判蛐蛄械钠鹗嘉恢,然后,再從剩余未排序元素中繼續(xù)尋找最。ù螅┰兀缓蠓诺揭雅判蛐蛄械哪┪。以此類推,直到所有元素均排序完畢。

  選擇排序的主要優(yōu)點(diǎn)與數(shù)據(jù)移動(dòng)有關(guān)。如果某個(gè)元素位于正確的最終位置上,則它不會(huì)被移動(dòng)。選擇排序每次交換一對(duì)元素,它們當(dāng)中至少有一個(gè)將被移到其最終位置上,因此對(duì)n個(gè)元素的表進(jìn)行排序總共進(jìn)行至多n-1次交換。在所有的完全依靠交換去移動(dòng)元素的排序方法中,選擇排序?qū)儆诜浅:玫囊环N。選擇排序的時(shí)間復(fù)雜度也為O(n^2)。

  代碼實(shí)現(xiàn)

  復(fù)制代碼 代碼如下:

  #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++選擇排序算法實(shí)例】相關(guān)文章:

C++歸并排序算法實(shí)例09-07

C++插入排序算法實(shí)例08-26

C++冒泡排序算法實(shí)例詳解06-09

C語言選擇排序算法及實(shí)例代碼07-25

C語言冒泡排序算法實(shí)例06-15

C語言奇偶排序算法詳解及實(shí)例代碼10-30

C語言插入排序算法及實(shí)例代碼07-02

C語言中使用快速排序算法對(duì)元素排序的實(shí)例06-20

C語言實(shí)現(xiàn)歸并排序算法實(shí)例09-18