• 三个基本排序


    冒泡排序:

    void bubble_sort(int *a, int n)

    {

      int i, j;

      for(i = 0; i < n; i++)

        for(j = 0; j < i; j++){

          if(a[j] > a[j + 1]){

            a[j]       = a[j] + a[j + 1];

            a[j + 1] = a[j] - a[j + 1];

            a[j]       = a[j] - a[j - 1];

          }

      }

    }

    选择:

    void select_sort(int *a, int n)

    {

      int start, next, min, swap;

      for(start = 0; start < n; start++){

        min = start;

        for(next = start + 1; next < n; next++){

          if(a[next] < a[min])

            min = next;

        }

        if(min != start){

        swap    = a[next];

        a[next] = a[start];

        a[start] = swap;

        }

      }

    }

    插入:

    void insert_sort(int *a, int n)

    {

      int i, j, k;

      for(i = 1; i < n; i++){

        int temp = a[i];

        for(j = 0; j <i; j++){

          if(a[j] > temp){

           for(k = i; k < j; k--)

            a[k] = a[k - 1];

          }

          a[j] = temp;

          break;

        }   

      }

    }

  • 相关阅读:
    Hadoop入门
    Redis缓存分布式高可用架构原理
    ES分布式搜索引擎架构原理
    Java锁,多线程与高并发,JUC并发包
    图算法--拓扑序列
    数据结构--数组模拟队列
    数据结构--数组模拟栈
    数据结构--数组模拟双链表
    数据结构--数组模拟单链表
    基础算法--双指针
  • 原文地址:https://www.cnblogs.com/0822vaj/p/3555240.html
Copyright © 2020-2023  润新知