
数据结构和算法
小菜的粉丝
正在学JAVA,希望和大家共同进步!
展开
-
队列--链表队列
用链表表示的队列在插入和删除方面效率更高。/** Node class used by linked structures. * This class and its data members are * visible only within the package dataStructures. */package dataStructures;class原创 2009-09-06 14:45:00 · 677 阅读 · 0 评论 -
求最大公约数和最小公倍数
实用辗转除法来实现: public static void mutiple() { Scanner in = new Scanner(System.in); int a = 0, b = 0; while (in.hasNextInt()) { a = in.nextInt();原创 2009-11-02 13:02:00 · 518 阅读 · 0 评论 -
开始报数(从1到3报数),凡报到3的人退出圈子
public static int removeNM(int n, int m) { LinkedList ll = new LinkedList(); for (int i = 0; i < n; i++) ll.add(new Integer(i + 1)); int removed = -1; while (ll.size(原创 2009-11-02 14:25:00 · 1327 阅读 · 0 评论 -
一个偶数可以分解为两个质数相加
public static void zhishu() { int a = 800; for (int m = 3; m <= a/2; m++) { int k = (int)Math.sqrt(m); int i = 2; while (m % i != 0 && i <= k)原创 2009-11-02 13:05:00 · 2732 阅读 · 0 评论 -
java简单日历
import java.text.DateFormatSymbols;import java.util.*;/** * @version 1.4 2007-04-07 * @author Cay Horstmann */public class CalendarTest{ public static void main(String[] args)原创 2009-11-02 14:40:00 · 738 阅读 · 0 评论 -
杨辉三角
public static void triange() { int rows = 10; int[][] array = new int[rows][]; for (int i = 0; i < 10; i++) { array[i] = new int[i + 1]; }原创 2009-11-02 12:59:00 · 451 阅读 · 0 评论 -
队列--数组循环队列
队列一般用循环数组表示。package dataStructures;public interface Queue{ public boolean isEmpty(); public Object getFrontElement(); public Object getRearElement(); public void put(Object原创 2009-09-06 14:22:00 · 632 阅读 · 0 评论 -
选择排序
package chapter1;public class Selectionsort { /** * 选择排序 * @param args */ public static void selectionSort(int[] list) { int j , k, min; for (j = 0; j < 8 - 1; j++) { m原创 2009-09-07 16:26:00 · 406 阅读 · 0 评论 -
折半查找
package chapter1;public class Binsearch { /** * 折半查找 * @param args */ public static int binsearch(int list[], int searchnum, int left, int right) { int middle; int result;原创 2009-09-07 16:22:00 · 402 阅读 · 0 评论 -
冒泡排序
package chapter1;public class Babble { /** * 冒泡排序 * @param args */ public static void babble(int[] list) { for (int i = 0; i < list.length - 1; i++) { for (int j = i; j <原创 2009-09-07 16:20:00 · 434 阅读 · 0 评论 -
全排列
package chapter1;public class Arragement { /** * 全排列问题 * * @param args */ public static void swap(Object[] a, int i, int j) { Object temp = a[i]; a[i] = a[j]; a[j] =原创 2009-09-07 16:19:00 · 450 阅读 · 0 评论 -
阶乘运算
package chapter1;/** * 阶乘运算 * @author 姚强 * */public class Factorial { public static int factorial(int n) { if (n <= 1) { return 1; } else { return n * factorial(n - 1);原创 2009-09-07 16:13:00 · 694 阅读 · 0 评论 -
有趣的编程题和面试题
1.百度面试题--5只蚂蚁走木棍问题优美的Java非递归解法 有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间原创 2010-01-24 23:28:00 · 1023 阅读 · 0 评论