java面试题

当前位置: 面试问题网 > java面试题 > 排序都有哪几种方法?请列举。用JAVA实现一个快速排序

排序都有哪几种方法?请列举。用JAVA实现一个快速排序

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
   用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。
   插入排序:
   package org.rut.util.algorithm.support;
   import org.rut.util.algorithm.SortUtil;
   /**
   * @author treeroot
   * @since 2006-2-2
   * @version 1.0
   */
   public class InsertSort implements SortUtil.Sort{
   /* (non-Javadoc)
   * @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])
   */
   public void sort(int[] data) {
   int temp;
   for(int i=1;i0)&&(data[j]2;i/=2){
   for(int j=0;j1) quickSort(data,k+1,j);
  
   }
   /**
   * @param data
   * @param i
   * @param j
   * @return
   */
   private int partition(int[] data, int l, int r,int pivot) {
   do{
   while(data[++l]pivot);
   SortUtil.swap(data,l,r);
   }
   while(l0){
   int j=stack[top--];
   int i=stack[top--];
  
   pivotIndex=(i+j)/2;
   pivot=data[pivotIndex];
  
   SortUtil.swap(data,pivotIndex,j);
  
   //partition
   l=i-1;
   r=j;
   do{
   while(data[++l]pivot));
   SortUtil.swap(data,l,r);
   }
   while(lTHRESHOLD){
   stack[++top]=i;
   stack[++top]=l-1;
   }
   if((j-l)>THRESHOLD){
   stack[++top]=l+1;
   stack[++top]=j;
   }
  
   }
   //new InsertSort().sort(data);
   insertSort(data);
   }
   /**
   * @param data
   */
   private void insertSort(int[] data) {
   int temp;
   for(int i=1;i0)&&(data[j]

【排序都有哪几种方法?请列举。用JAVA实现一个快速排序】相关文章

1. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序

2. Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?

3. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)

4. 如果出现ASP.NET中的事件不能触发可能由于什么原因造成?请列举至少两个

5. XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

6. 值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型

7. 写出一个方法实现冒泡排序

8. 你所知道的集合类都有哪些?主要方法?

9. Servlet都有哪些方法?主要作用是什么?

10. ASP.NET 中页面传参的几种方法

本文来源:https://www.mianshiwenti.com/a12523.html

点击展开全部

《排序都有哪几种方法?请列举。用JAVA实现一个快速排序》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝排序都有哪几种方法?请列举。用JAVA实现一个快速排序﹞相关内容

「排序都有哪几种方法?请列举。用JAVA实现一个快速排序」相关专题

其它栏目

也许您还喜欢