该文章所有代码均基于SortView类,头文件及基本代码如下
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class SortView {
public:
void BubbleSort();//冒泡排序
void SelectionSort();//选择排序
void InsertionSort();//插入排序
void ShellSort();//希尔排序
void Quicksort(int low, int high);//快速排序
void MergeSort(int left, int right);//归并排序
void Merge(int left, int right,int mid);//归并排序
void RadixSort();//基数排序
void Init(int n);//初始化数组
void Show();//打印数组
int Size();
private:
vector<int> Unsort;
int temp[];
};
void SortView::Init(int n) {
for (int i = 0; i < n; i++) {
Unsort.push_back(rand());
}
}
void SortView::Show() {
for (int i = 0; i < Unsort.size(); i++) {
cout << Unsort[i] <<" ";
}
cout << endl;
}
int SortView::Size() {
return Unsort.size();
}
1、冒泡排序(BubbleSort)
冒泡排序是一种较为简单的排序算法,其基本思想就是循环遍历需要排序的元素,依次比较两个相邻的元素,如果它们之间的顺序不符合需要的顺序,即将他们进行交换,知道某一次循环遍历没有需要交换的元素,排序完成。
void SortView::BubbleSort