java排序的几种方法,java中的排序函数

  java排序的几种方法,java中的排序函数

  冒泡排序

  特点:效率低,实现简单。

  思路(从小到大):在每次行程中将待排序序列中最大的元素移到最后,剩下的就是新的待排序序列。重复上述步骤,直到所有元素都排序完毕。这只是冒泡排序的一种,当然也可以从后往前排。

  public void bubble sort(int array[]){

  int t=0;

  for(int I=0;I array . length-1;我)

  for(int j=0;j数组.长度-1-I;j)

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

  t=array[j];

  array[j]=array[j 1];

  array[j 1]=t;

  }

  }选择排序

  特点:效率低,易于实现。

  想法:在每次旅行中,从要排序的序列中选择最小的元素,并将其放在排序后的序列的末尾。剩余的位将被排序。重复上述步骤,直到排序完成。

  public void select sort(int array[]){

  int t=0;

  for(int I=0;I array . length-1;我)

  for(int j=I 1;j数组.长度;j)

  if (array[i] array[j]) {

  t=array[I];

  array[I]=array[j];

  array[j]=t;

  }

  }插入排序

  特点:效率低,易于实现。

  思路:把数组分成两部分,把后一部分的元素和前一部分的元素逐个比较,如果小就把当前元素数组[i]替换掉。找到一个合理的地方插入数组[i]

  public void insertion sort(int array[]){

  int i,j,t=0;

  for(I=1;I数组.长度;i ) {

  t=array[I];

  for(j=I-1;j=0 t数组[j];j -)

  array[j 1]=array[j];

  array[j 1]=t;

  }

  }快速排序

  特点:高效,时间复杂度为nlogn。

  采用分而治之的思想:首先设置一个轴值pivot,然后基于这个轴值把要排序的序列分成大于pivot和小于pivot两部分。然后,被划分的子序列被快速排列,直到子序列是一个元素。

  Void快速排序(int array [],int low,int high) {//incoming low=0,high=array . length-1;

  int pivot,p_pos,I,t;//pivot- bit索引;P_pos-轴值。

  if(低高){

  p_pos=低;

  pivot=array[p _ pos];

  for (i=低1;i=高;我)

  if (array[i] pivot) {

  p _ pos

  t=array[p _ pos];

  array[p _ pos]=array[I];

  array[I]=t;

  }

  t=数组[低];

  array[low]=array[p _ pos];

  array[p _ pos]=t;//各个击破

  quickSort(array,low,p _ pos-1);//排序左半部分

  快速排序(数组,p_pos 1,高);//排序右半部分

  }推荐教程:java教程以上是Java中关于排序方法的例子的详细内容。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: