易截截图软件、单文件、免安装、纯绿色、仅160KB

用java实现的迭代和递归插入排序

下面使用一个java实现的迭代版的递归版的插入排序。
package sort;
import java.util.Date;
import java.util.Random;
/*
* 插入排序
*/
public class InsertSort{
public static void main(String args[])
{
int len = 20;
Date date = new Date();
Random random = new Random(date.getSeconds());
int data[]=new int[len];
for(int i = 0; i < len; i++)
{
data[i]=(int)(random.nextFloat()*100+1);
}
show(data);
insertSort(data,data.length);
show(data);
System.out.println(binarySearch(data,1,data.length,55));
System.out.println(binarySearch2(data,55));
insertSortDesc(data);
show(data);
System.out.println(binarySearch(data,1,data.length,55));
System.out.println(binarySearch2(data,55));

}
/*
* 插入排序核心
*/
private static void insertSortDesc(int[] data)
{
int length = data.length;
for(int i = 1; i < length; i++)
{
int temp = data[i];
int j = i-1;
while(j >= 0 && data[j] < temp)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}

private static void insertSortAsc(int[] data)
{
int length = data.length;
for(int i = 1; i < length; i++)
{
int temp = data[i];
int j = i-1;
while(j >= 0 && data[j] > temp)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
private static void show(int[] data)
{
System.out.println("========================");
for(int i = 0; i < data.length; i++)
{
System.out.print(data[i] + " ");
}
System.out.println();
System.out.println("========================");
}
/*
* 使用递归实现的插入排序算法
*/
private static void insertSort(int[] data,int n)
{
if(n>1)
{
insertSort(data,n-1);
merge(data,n-1,n);
}
}
private static void merge(int[] data,int end,int n)
{
int temp=data[n-1];
int i;
for( i=end-1; i>=0; i--)
{
if(data[i]>temp)
data[i


相关文档:

Java传值和传引用: 张三和李四的故事


下面开讲故事: 
从前有个房间,房间里有份文档,房间还有一把钥匙。 这把钥匙在张三手里。 
这时李四来向张三要那份文档。 张三不太喜欢李四,但又怕耽误了
工作不好交代。于是张三就把房间里文档的文档复印了一份,然后把那个复印件交给了李四(这叫传值)。 
李四拿到文档后(复印件),胡乱修改一 ......

Java SE 多线程

package thread;
class TestThread extends Thread {
 public void run(){
  while(true){
   System.out.println(Thread.currentThread().getName());
  }
 }
}
public class ThreadDemo {
 /**
  * @param args
  */
 public static void ......

Java中的equals方法和==运算


值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相 ......

Java的容器类Vector、ArrayList、HashTable等

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Ha ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号