数据结构(java版)
guangmingfupin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
选择排序
package day01;public class selectSort { public static void select(int b[]) { int i,j,k; for(i=0;i<b.length-1;i++) { for(j=i+1;j<b.length;j++)//对选择排序而言,随着趟数的增加,最左边是逐渐排好序的,在下一趟排序时原创 2012-08-15 17:22:05 · 309 阅读 · 0 评论 -
折半查找(二分查找)
package arrays;public class HalfSerch { /* * 1,要查找的数据源必须采用顺序存储方式,比如数组的形式 2,要查找的数据必须按照关键字排序,必有序 */ //折半查找也叫二半查找,该方法查找的条件必须是:查找的数组必须是有序的。 public static int halfSerch(int[] arr,int key原创 2014-05-07 11:03:12 · 863 阅读 · 0 评论 -
归并排序2(选第一个数为基准数)
package quicksort;public class QuickSortTest { public void quickSort2(int[] a,int left,int right) { int key=a[left]; if(left<right) { int i=left,j=right; while(i<j) { while(i原创 2013-04-03 09:08:30 · 688 阅读 · 0 评论 -
快速排序
package quicksort;public class QStest { public int partition(int[] a,int low,int high) //分割数组找到基准数的位置 { int key=a[low],i=low,j=high; while(i<j) //当i==j时,说明找到基准数的位置 { w原创 2012-11-09 17:15:16 · 588 阅读 · 0 评论 -
插入排序2
package insertsort;public class InsertSort { public static void insert(int[] a) { for(int i=0;i<a.length;i++) { int temp=a[i]; for(int j=i;j>0 && a[j-1]>temp;j--) //注:j=i而不能是j=i+1,不然就拋异原创 2012-11-09 17:26:00 · 466 阅读 · 0 评论 -
归并排序
package mergesort;import java.util.Arrays;public class MergeSort2 { private int[] arrays; private static int count=0; public void partation(int low,int high) //对数组进行分的方法 { if(high-low<=1)原创 2012-11-09 10:12:02 · 425 阅读 · 0 评论 -
队列的实现类
package dingyi_queue;import java.util.NoSuchElementException;public class Queue { protected Object[] data; protected int size,head,tail; public Queue() { final int LENGTH=4; da原创 2012-08-25 10:00:22 · 636 阅读 · 0 评论 -
用链表(LinkedList)封装成堆栈
package linkedlist_stack;import java.util.LinkedList;public class Link_stack {//栈的特点:先进后出,只能从栈顶取元素或删除元素 private LinkedList lstack; public Link_stack() { lstack=new LinkedList(); }原创 2012-08-24 10:07:34 · 1420 阅读 · 0 评论 -
用链表(LinkedList)封装成队列
package linkedlist_queue;import java.util.Iterator;import java.util.LinkedList;public class Link_queue {//队列的性质:先进先出,队列是从尾部插入的,删除是从头部删除的 private LinkedList lqueue; public Link_queue()原创 2012-08-24 10:05:49 · 1064 阅读 · 0 评论 -
汉诺塔(递归实现)
package hannota;import java.io.BufferedReader;import java.io.InputStreamReader;import zhuanghuan.Demo01;public class Hannota {//orign:表示原始塔,destination:表示目的塔,temporary:表示临时塔,即辅助塔 pri原创 2012-08-21 09:56:45 · 1908 阅读 · 0 评论 -
单链表实现类2(按关键字查找与删除)
public double find_list(int key) //按关键字查找 { Link current=first; System.out.println("current:"+current.ddata); while(current.idata!=key) { if(current.next==null) return 0;原创 2012-08-17 09:27:57 · 901 阅读 · 0 评论 -
单链表的实现类1
package singlelist_imp;public class Link { public int idata; public double ddata; public Link next; //链表指针 public Link(int idata,double ddata) //在构造函数中不用初始化first,因为当它被创建时fir原创 2012-08-16 18:06:04 · 425 阅读 · 0 评论 -
插入排序
插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。 本节介绍两种插入排序方法:直接插入排序和希尔排序。直接插入排序基本思想1.直接插入排序的基本思想 直接插入排序(Straight Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有转载 2012-08-16 09:10:25 · 431 阅读 · 0 评论 -
冒泡排序
package day01;public class bufferSort {//对冒泡排序而言,最右端是逐渐排好序的,因此在下一趟排序时就不用再比较了 public static void bsort(int[] arr) { for(int i=0;i<arr.length-1;i++) { for(int j=0;j<arr.length-i-1;j+原创 2012-08-15 17:21:13 · 324 阅读 · 0 评论 -
在数组中存储对象
//首先创建一个Person类package test03;public class Person { private String lastname; //即姓什么 private String firstname; private int age; public Person(String lastname,String firstname,int原创 2012-08-15 16:44:06 · 1126 阅读 · 0 评论 -
将数组封装到类中
package test02;public class Hightarray_create { private int[] array; private int nitem; public Hightarray_create(int size) //在构造函数中创建一个数组 { array=new int[size]; n原创 2012-08-15 16:37:50 · 3432 阅读 · 1 评论 -
获取两个字符串中最大相同子串
package chuan;public class MaxSubstring {//获取两个字符串中最大相同子串。/** * 思路:1、将短的那个子串按照长度递减的方式获取到。 * 2、用长串去判断是否包含每次获取到的子串,若包含则就找到最大相同子串 * @param s1 * @param s2 * @return max substring */ publi原创 2014-05-11 12:13:16 · 4423 阅读 · 0 评论
分享