zoukankan      html  css  js  c++  java
  • 插入排序(C语言实现) 分类: 数据结构 2014-12-03 14:48 120人阅读 评论(0) 收藏



        插入排序
        思想:1.从第二个数开始比较
                     2.如果比第一个数大,就排在右边,否则,就在左边,同时在和左边的数一一比较






    如果图看懂了,接下来的代码,将非常简单理解

     头文件 sort.h
    #include <stdio.h>
    
    void Print(int* arr,int len)
    {
        int i;
        for(i=0;i<len;i++)
        {
            printf("%d ",arr[i]);
        }
        printf("
    ");
    }
    
    void Swap(int* a,int* b)
    {
        *a=*a+*b;
        *b=*a-*b;
        *a=*a-*b;
    }
    
    
    主函数main
    
    #include "sort.h"
    
    void InsertSort(int* arr,int len);
    int main(void)
    {
        int arr[]={5,4,3,2,1};
        int len=sizeof(arr)/sizeof(int);
        Print(arr,len);
        InsertSort(arr,len);
        Print(arr,len);
        return 0;
    }
    
    void InsertSort(int* arr,int len)
    {
        int temp,in,out;
        if(arr!=NULL)
        {
            for(out=1;out<len;out++)
            {
                temp=arr[out];  
                in=out;
                while(in>0 && arr[in-1]>temp)
                {
    //                arr[in]=arr[in-1];
                    Swap(&arr[in],&arr[in-1]); //交换两个变量的值
                    in--;
                }
    //            arr[in]=temp;
            }
        }
    }
    
    





    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    .net Application的目录
    (转载).NET中RabbitMQ的使用
    (转载)RabbitMQ消息队列应用
    说说JSON和JSONP
    SQL Server中的事务与锁
    StackExchange.Redis Client(转载)
    正则语法的查询,这是纯转载的,为了方便查询
    Regex的性能问题
    解决json日期格式问题的办法
    BenchmarkDotNet(性能测试)
  • 原文地址:https://www.cnblogs.com/L-Lune/p/4671293.html
Copyright © 2011-2022 走看看