zoukankan      html  css  js  c++  java
  • 插入排序

      之前学习数据结构几度丢弃,我却一直忽略了最重要的一点,开始的学习的不要贪多,每天完成一点点,终会完成既定的目标!

    插入排序

    动画图示:http://visualgo.net/sorting.html

    代码:(默认排列,小——大)

     1 void swap(int *p1, int *p2)
     2 {
     3     int temp;
     4     temp = *p1;
     5     *p1 = *p2;
     6     *p2 = temp;
     7 }
     8 
     9 void insertSort(int *a, int len)
    10 {
    11     int i,j;
    12     for(i=0; i<len; ++i)
    13         for(j=i+1;j>=1;--j)
    14         {
    15             if(a[j] < a[j-1])
    16                 swap(&a[j], &a[j-1]);
    17         }
    18 }
    View Code

    插入排序2:搜索的同时无序序列移动腾出空间

     1 void insertSort2(int a[], int len)
     2 {
     3     int i,j;
     4     for(i=1; i<len; ++i)
     5         if(a[i] < a[i-1])
     6         {
     7             int temp = a[i];
     8             for(j=i-1;j>=0&&a[j]>temp; --j)
     9                 a[j+1] = a[j];
    10             a[j+1] = temp;
    11         }
    12 }

    测试代码:

     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     void insertSort(int *a, int len);
     6     int a[7] = {2, 4, 1, 13, 8, 25, 3};
     7     insertSort(a, 7);
     8     for(int i=0; i<7; ++i)
     9         cout << a[i] << " ";
    10     cout << endl;
    11     return 0;
    12     
    13 }
    View Code
    点滴积累,点滴生活,丰富研究生生活!
  • 相关阅读:
    Codeforces 1105C Ayoub and Lost Array
    绍兴市acm竞赛
    CodeForces#520 div2 1062B
    CodeForces#520 div2 1062A
    1067A
    测试MathJax
    BZOJ1010 玩具装箱toy
    停止
    秽翼
    爆零
  • 原文地址:https://www.cnblogs.com/nju2014/p/4448543.html
Copyright © 2011-2022 走看看