七大排序算法实现
#include <iostream>
using namespace std;
void swap(int* num1,int* num2) {
int temp = *num1;
*num1 = *num2;
*num2 = temp;
}
//1.选择排序算法
bool selectionSort(int* arr, int len) {
for (int i = 0; i < len - 1; i++) {
int max = 0;
for (int j = 1; j < len - i - 1; j++) {
if (arr[j] > arr[max]) {
max = j;
}
}
if (max != (len - i - 1)) {
swap(&arr[max], &arr[len - i - 1]);
}
}
return true;
}
//2.冒泡排序算法
bool bubbleSort(int* arr, int len) {
for (int i = 0; i < len - 1; i++) {
bool sorted = true;
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j+1]) {
swap(&arr[j], &arr[j+1]);
sorted = false;
}
}
if (sorted)return true;
}
return true;
}
//3.插入排序算法
bool insertionSort(int* arr, int len) {
int preIndex = 0; //待交换的数索引位置
int