當前位置:編程學習大全網 - 編程軟體 - 數據結構與算法設計編程題(用C++描述),急,求大神解答~~~

數據結構與算法設計編程題(用C++描述),急,求大神解答~~~

以待排序序列 { 2, 5, 3, 4, 1} 為例,按非遞減有序排列。

第壹趟起泡排序過程如下:

初始:?25341

第1次:?25341

第2次:?23541?3比最終位置前移了壹個位置

第3次:?23451?4比最終位置前移了壹個位置

第4次:?23415

通過第壹趟的排序過程發現,3、4原來在索引為2、3的位置,但經過第壹趟排序過程後,3、4暫時移動到了索引為1、2的位置。

C++程序如下:

#include?"iostream"

#include?"iomanip"

using?namespace?std;

//輸出數組中的所有元素

void?display(int?arr[],?int?n)

{

int?i;

for(i=0;?i<n;?i++)

{

cout<<setw(4)<<arr[i];

}

cout<<endl;

}

//起泡排序

void?bubbleSort(int?arr[],?int?n)

{

int?i,?j;

int?temp;

for(i=0;?i<n-1;?i++)

{

for(j=0;?j<n-1-i;?j++)

{

if(arr[j]?>?arr[j+1])

{

temp?=?arr[j];

arr[j]?=?arr[j+1];

arr[j+1]?=?temp;

}

}

cout<<"第"<<i+1<<"趟:"<<endl;

display(arr,?n);

}

}

int?main()

{

int?arr[]?=?{2,?5,?3,?4,?1};

int?n?=?5;

cout<<"初始狀態:"<<endl;

display(arr,?n);

bubbleSort(arr,?n);

return?0;

}

運行測試:

初始狀態:

25341

第1趟:

23415

第2趟:

23145

第3趟:

21345

第4趟:

12345

  • 上一篇:用1 2 3三個數字可以組成多少個不同的兩位數
  • 下一篇:數控怎麽面試?
  • copyright 2024編程學習大全網