std::sort
#include <iostream>
#include <algorithm>
#include <vector>
bool complare(int a, int b)
{
return a < b;
}
int main()
{
int myArray[] = {32,71,12,45,26,80,53,33};
std::vector<int> myVec(myArray, myArray+8);
std::sort(myVec.begin(), myVec.end());
std::vector<int>::iterator it;
for (it = myVec.begin(); it != myVec.end(); it++) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
冒泡排序
#include "stdafx.h"
#include <iostream>
#include <vector>
void MaoPaoSort(int *arr, int size) {
if (arr == NULL || size == 0) {
return;
}
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
int main()
{
int myArray[] = {32,71,12,45,26,80,53,33};
int len = sizeof(myArray)/sizeof(int);
MaoPaoSort(myArray, len);
for (int i = 0; i < len; i++) {
std::cout << myArray[i] << " ";
}
std::cout << std::endl;
return 0;
}
快速排序
#include "stdafx.h"
#include <iostream>
#include <vector>
void QuickSort(int *arr, int left, int right) {
if (left >= right) {
return;
}
int i = left;
int j = right;
int base = arr[i];
while (i != j) {
while(arr[j] >= base && j > i) {
j--;
}
while(arr[i] <= base && j > i) {
i++;
}
if (i < j) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
arr[left] = arr[i];
arr[i] = base;
QuickSort(arr, left, i-1);
QuickSort(arr, i+1, right);
}
int main()
{
int myArray[] = {32,71,12,45,26,80,53,33};
int len = sizeof(myArray)/sizeof(int);
QuickSort(myArray, 0, len-1 );
for (int i = 0; i < len; i++) {
std::cout << myArray[i] << " ";
}
std::cout << std::endl;
return 0;
}