直接插入排序
2013-03-06 14:37
211 查看
基本思路:
1. 从a[0]开始,也就是从1个元素开始是有序的,a[1]~a[n-1]是无序的。
2. 从a[1]开始并入前面有序的数组,直到n-1。
1. 从a[0]开始,也就是从1个元素开始是有序的,a[1]~a[n-1]是无序的。
2. 从a[1]开始并入前面有序的数组,直到n-1。
#include <stdio.h> #define N 5 void insertsort(int a[], int n); void swap(int *x, int *y); void insertsort(int a[], int n){ int i,j; for(i=1; i<n; i++){ for(j=i; j>0 && a[j]<a[j-1]; j--){ swap(&a[j], &a[j-1]); } } } void swap(int *x, int *y){ int i = *x; *x = *y; *y = i; } int main(void){ int a = {2, 5, 3, 1, 8}; insertsort(a, N); int i; for(i=0; i<N; i++) printf("%d ", a[i]); return 0; }
相关文章推荐
- 直接插入排序
- (第十六周项目1)验证算法(1)直接插入排序
- 直接插入排序
- 第十五周项目1—验证算法(直接插入排序)
- 用直接插入排序法对单链表进行排序
- 直接插入排序
- 无聊时总结总结算法之02排序(直接插入+希尔)
- 排序一:直接插入排序
- 排序算法(一):直接插入排序
- 数据结构—单链表—直接插入排序
- 直接插入排序
- 排序算法(一)——直接插入排序
- 第十章(1).直接插入排序
- 排序算法之直接插入排序
- 直接插入排序的三种实现(c++)
- 排序算法java 一 --快速排序、直接插入、希尔排序
- 【数据结构与算法 03】直接插入排序
- 直接插入排序以及其改进版-二分法排序
- 直接插入排序算法-设置哨兵版
- 直接插入排序