• 大小: 284KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Java
  • 标签: 排序  

资源简介

基于java实现的 动态演示,很漂亮,功能都实现了,冒泡,选择,希尔,堆,归并,快速等算法

资源截图

代码片段和文件信息


import java.io.*;
import java.util.*;


public class Algorithm { 


/*-----------------------------------------------------------------------------*/
final static int MAXVALUE = 9999999;             //merge算法使用的变量
 static int[] L;                                        
 static int[] R;
  public static void Merge(int[] Aint pint qint r) //单次merge算法时候使用,提前实现 ,以便于下面多趟里面调用
     {  int n1=q-p;
    int n2=r-q+1;  
  
    L = new int[n1+1]; 
     R = new int[n2+1];  
     for(int i = 0;i < n1;i++)
          {   L[i] = A[p+i];  }
     
     for(int j = 0;j < n2;j++)
          {   R[j] = A[q+j];  } 
      L[n1]=MAXVALUE; 
       R[n2]=MAXVALUE;
       int i = 0j = 0;  
       for(int k = p; k <= r ;k++)
       {  
        {    if(L[i]<=R[j])
                   { A[k] = L[i];   
                   i++;  
                 }
          else{ A[k] = R[j];   j++;    } 
        } 
       }
   }      
       
     
 public static void MergeSort(int[] Aint pint r)   //merge排序主程序 递归实现,共3小时
{  int q;  if(p MergeSort(Apq); 
  MergeSort(Aq+1r);  
   Merge(Apq+1r);   
    
     } } 
     
     /*----------------------------------------------------------------------------*/
     
public  static int[] InsertSort(int[]  a )   //插入排序算法实现
 {   
    
  int   len =a.length;   
    
  if( len<=   1)   
  return   a;   
    
  int   temp;   
  for(int i=1; i < len;i++ )   
  {   
  temp   =a[i];   
  int   j= i-1;   
    
  while(j>= 0 && a[j]>temp )   
  {   
  a[j+1]=a[j];   
  j--;   
  }   
  a[j+1]=temp;   
  }   
  return a;   
 }   
 /*--------------------------------------------------------------*/
                                                     //希尔排序,既是改进了的插入排序
public  static void ShellSort(int R[]int n)
{ int ijdk;
int temp;
d=n/2;
while(d>0)
{ for(i=d;i { j=i-d;
while(j>=0 &&R[j]>R[j+d])
  { temp=R[j];
   R[j]=R[j+d];
   R[j+d]=temp;
   j=j-d;
  }
}
d=d/2;
  }

   }
 
 /*-----------------------------------------------------------------------------*/
 public static void QuickSort( int R[]int sint t) //实现快速排序 哈哈
 {
  int i=sj=tk;
  int temp;
  if(s    { temp=R[s];
     while(i!=j)
     {  while(j>i && R[j]>temp)
         j--;
         if(i          { R[i]=R[j];
          i++;
         }
       while(i        i++;
       if(i        {R[j]=R[i];
        j--;
       }
     }
    R[i]=temp;
    QuickSort(Rsi-1);
    QuickSort(Ri+1t);
  }
}
 
/*--------------------------------------------------------------------*/  
public static void BubbleSort(int R[]int n)          //冒泡排序
{
int ijk;
    int temp;
    for(i=0;i    { for(j=n-1;j>i;j--)
       if(R[j]       { temp=R[j];
        R[j]=R[j-1];
        R[j-1]=temp;
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     372224  2008-10-14 16:24  常见排序算法的实现与性能比较.doc

     文件      14581  2008-10-14 11:41  Algorithm.class

     文件      37257  2008-10-14 11:14  Algorithm.java

     文件        196  2008-10-14 15:04  readme.txt

----------- ---------  ---------- -----  ----

               424258                    4


评论

共有 条评论