目录
《算法导论》第二章插入排序
伪代码:
INSERTION-SORT(A)
for j = 2 to A.length
key = A[j]
i = j-1
while i > 0 and A[i] > key
A[i+1] = A[i]
i = i -1
A[i+1] = key
C++实现:
#include <bits/stdc++.h>
using namespace std;
/*
* 插入排序
* */
void insertionSort(int A[], int len){
for (int i = 2; i <= len; ++i) {
int key = A[i];
int j = i - 1;
while(j>=0 && A[j]>key){
A[j+1] = A[j];
j--;
}
A[j+1] = key;
}
}
int main() {
int a[] = {0,2,4,5,6,7,9,8,1,10,3};
int len = sizeof(a)/ sizeof(a[0]) -1;
insertionSort(a,len);
for (int i = 1; i <= len; ++i) {
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
本文介绍了《算法导论》中插入排序的伪代码,并提供了相应的C++实现。通过一个示例数组进行排序演示,展示了插入排序的基本步骤和逻辑。
3558

被折叠的 条评论
为什么被折叠?



