插入排序(C语言实现)
2018-03-20 21:24
211 查看
/* INSERTION-SORT(A) 1 for j = 2 to A.length 2 key = A[j] 3 // Insert A[j] into the sorted sequence A[1 ... j - 1]. 4 i = j - 1 5 while i > 0 and A[i] > key 6 A[i+1] = A[i] 7 i = i + 1 8 A[i+1] = key */ #include <stdio.h> #define MAX 30 void InsertSort(int A[], int left, int right); int main() { int A[MAX] = {0}; int length = 0, i = 0; printf("Lenght:\n"); scanf("%d", &length); printf("numbers:\n"); for(i=0;i<length;i++){ scanf("%d", A+i); } InsertSort(A, 0, length-1); return 0; } void InsertSort(int A[], int left, int right) { int j = 0, i = 0; for(j = 1;j<right-left+1;j++){ int key = A[left+j]; i = left+j-1; while(i>=0 && A[i]>key){ A[i+1]=A[i]; i--; } A[i+1]=key; } for(i = left; i<=right; i++){ printf("%d ", A[i]); } }
相关文章推荐
- (排序)用C语言实现的直接插入排序
- 用c语言实现插入排序
- 【c语言】冒泡排序与插入排序的实现
- C语言实现插入排序
- 冒泡排序、插入排序、选择排序--C语言实现
- 用C语言实现插入排序
- c语言实现选择排序、冒泡排序、插入排序
- C语言实现插入排序与希尔排序与一些想法
- (排序)用C语言实现的希尔排序(插入排序)
- c语言实现插入排序
- 排序算法之插入排序(C语言实现)
- 读《算法导论》我来C语言实现(1)——插入排序
- c语言实现插入排序
- C语言中快速排序和插入排序优化的实现
- C语言中快速排序和插入排序优化的实现
- 2-路插入排序(2-way Insertion Sort)的C语言实现
- 算法从排序开始——插入排序(Insertion Sort)C语言及Java实现
- 简单的C语言插入排序实现代码
- C语言实现的插入排序
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现