交换排序主要: (1)冒泡排序 (2)shaker排序 (3)快速排序 冒泡排序: #include<iostream> #include<vector> using namespace std; class BubbleSort { private: int len; vector<int> list; public: BubbleSort(vector<int> m_list,int m_len); void bubble_sort(); void swap(int,int); void out(); }; BubbleSort::BubbleSort(std::vector<int> m_list, int m_len) { len=m_len; for(int i=0;i<len;i++) { list.push_back(m_list[i]); } } void BubbleSort::bubble_sort() { for(int i=0;i<len;i++) for(int j=i+1;j<len;j++) if(list[i]>list[j]) swap(i,j); } void BubbleSort::swap(int i, int j) { int temp=list[i]; list[i]=list[j]; list[j]=temp; } void BubbleSort::out() { vector<int>::iterator it; for(it=list.begin();it!=list.end();it++) { cout<<*it<<endl; } } int main() { vector<int> list; list.push_back(20); list.push_back(37); list.push_back(50); list.push_back(35); list.push_back(10); list.push_back(1); BubbleSort bs(list,list.size()); bs.bubble_sort(); bs.out(); }