C/C++教程

一些简单排序算法的c语言描述

本文主要是介绍一些简单排序算法的c语言描述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

冒泡排序:

int i,j;

int len = sizeof(array)/sizeof(array[0]);

for(i=len-1;i>0;i--){

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

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

      array[j]^=array[j+1]^=array[j]^=array[j+1];

    }
  }
}

选择排序:

int i,j,min;

int len = sizeof(array)/sizeof(array[0]);

for(i=0;i<len-1;i++){

  min=i;

  for(j=i+1;j<len;j++){

    if (array[min]>array[j]){

      min=j;

    }

  }

  if (min!=i){

    array[i]^=array[min]^=array[i]^=array[min];

  }

}

直接插入排序:

int i,j,temp;

int len = sizeof(array)/sizeof(array[0]);

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

  temp=array[i];

  for (j=i-1;j>=0 && array[j]>temp;j--){

    array[j+1]=array[j];

  }

  array[j+1]=temp;

}

 

这篇关于一些简单排序算法的c语言描述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!