插入排序的时间复杂度O(n2), 额外空间复杂度O(1); 算法是稳定的
#include<iostream>
#include<string>
using namespace std;
void MySwap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
void MyShow(int intArray[], int len) {
for (int i = 0; i < len; i++) {
cout << intArray[i] << " ";
}
}
void insertQurt(int intArray[], int len) {
for (int i = 1; i < len; i++) {
for (int j = i - 1; j >= 0; j--) {
if (intArray[j+1] < intArray[j]) {
MySwap(intArray[j+1],intArray[j]);
}
}
}
}
void test() {
int intArray[] = { 3,2,4,6,2,8,3,9 };
int len = sizeof(intArray) / sizeof(int);
insertQurt(intArray, len);
MyShow(intArray, len);
}
int main() {
test();
system("pause");
return 0;
}
|