三个基本排序

冒泡排序:

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;

    }   

  }

}

原文地址:https://www.cnblogs.com/0822vaj/p/3555240.html