排序算法:冒泡排序

    xiaoxiao2021-03-25  47

    冒泡排序的寓意为:元素越轻,它就要像水泡一样向上冒,就是比较相邻的元素,如果后面的元素比前面的元素“轻”,则交换元素的位置,然后再与下一个元素比较,直到最后一个元素,然后再从第一个元素开始进行比较,一直到排序完成。

    C++实现:

    #include <iostream> #include <vector> using namespace std; template<typename T> void BubbleSort(vector<T> &vec); int main() { int arr[10] = {8, 3, 10, 49, 2, 6, 13, 5, 14, 7}; vector<int> vec(&arr[0], &arr[10]); BubbleSort(vec); return 0; } template<typename T> void BubbleSort(vector<T> &vec) { int VSize = vec.size(); if (VSize < 1) return; if (1 == VSize) { cout << "Only one element in array: " << vec[0] << endl; return; } for (int vIdx = 0; vIdx < VSize-1; vIdx++) { for (int uIdx = 0; uIdx < (VSize - vIdx - 1); uIdx++) { if (vec[uIdx] > vec[uIdx + 1]) { vec[uIdx] ^= vec[uIdx + 1]; vec[uIdx + 1] ^= vec[uIdx]; vec[uIdx] ^= vec[uIdx + 1]; } } } for (int vIdx = 0; vIdx < VSize; vIdx++) { cout << "value in " << vIdx << " is " << vec[vIdx] << endl; } return; }

    转载请注明原文地址: https://ju.6miu.com/read-50339.html

    最新回复(0)