经典算法 C++ 排序 经典算法实现之冒泡排序 Hoshea Zhang 2023-11-01 2023-11-01 算法 冒泡排序是一个比较简单和经典的排序算法,他的原理就是:
重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include <iostream> #include <vector> using namespace std;int main () { int n; cout<<"enter the amount of the numbers to sort:" ; cin>>n; vector<int > numbers; cout<<"enter " <<n<<" numbers: " ; int num; for (int i = 0 ;i<n;++i){ cin>>num; numbers.push_back (num); } bool swapcheck = true ; for (int i = 0 ;(i<n)&&(swapcheck);i++){ swapcheck = false ; for (int j = 0 ;j<n-1 -i;++j){ if (numbers[j]>numbers[j+1 ]){ swapcheck = true ; swap (numbers[j],numbers[j+1 ]); } } } cout << "\nSorted Array : " ; for (int i = 0 ; i < numbers.size (); i++) { if (i != numbers.size () - 1 ) { cout << numbers[i] << ", " ; } else { cout << numbers[i] << endl; } } }