您的位置:首页 > 其它

排序算法

2016-07-12 13:34 197 查看
对各种基本排序算法进行实现。

代码:

<pre name="code" class="cpp">#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

//冒泡排序
void BubbleSort(int v[], int n){
bool flag;
for(int i = 1; i < n; i++){
flag = false;
for(int j = n - 1; j >= i; j--){
if(v[j] < v[j - 1]){
flag = true;
int temp = v[j];
v[j] = v[j - 1];
v[j - 1] = temp;
}
}
if(flag == false) return;
}
}

//插入排序
void InsertSort(vector<int> &L, const int left, const int right){ //vector此处必须传入引用,否则只是拷贝,无法改变原本的值。

for(int i = left + 1; i <= right; i++){
if(L[i] < L[i - 1]){
int temp = L[i];
int j = i - 1;
while(j >= left && temp < L[j]){
L[j + 1] = L[j];
j--;
}
L[j + 1] = temp;
}
}

}

void main(){
int v[] = {5,3,8,4,0,9,1,8};
vector<int> L(v,v + 8);
int n = 8;
BubbleSort(v,n);
InsertSort(L,0,7);
int size = L.size();
//cout << v; // 错误!这个输出的是v的地址
for(int i = 0; i < 8; i++)
cout << v[i];
cout << endl;
for(int i = 0; i < 8; i++)
cout << L[i];
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: