本文共 2070 字,大约阅读时间需要 6 分钟。
程杰的《大话数据结构》是以C作为演示代码的。
我觉得如何要通HADOOP及其应用,JAVA的数据结构和算法的基础知识也必不可少的。
于是网上找了本电子书《JAVA算法和数据结构》第二版中文版。跟着看一看。
这书也不差哟。
下面的代码是为了引出类的优势,以传统基于过程的算法作比较。
我个人在里面增加了数组排序和元素增加演示。
1 public class hello { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 long[] arr; 8 arr = new long[100]; 9 int nElems = 0;10 int j;11 int i;12 long swap;13 long searchKey;14 arr[0] = 77;15 arr[1] = 99;16 arr[2] = 44;17 arr[3] = 55;18 arr[4] = 22;19 arr[5] = 88;20 arr[6] = 11;21 arr[7] = 00;22 arr[8] = 66;23 arr[9] = 33;24 25 nElems = 10;26 27 for(j = 0; j < nElems; j++)28 System.out.print(arr[j] + " ");29 System.out.println("");30 31 searchKey = 66;32 for(j = 0; j < nElems; j++)33 if(arr[j] == searchKey)34 break;35 if(j == nElems)36 System.out.println("Can't find " + searchKey );37 else38 System.out.println("Found " + searchKey);39 40 searchKey = 55;41 for(j = 0; j < nElems; j++)42 if(arr[j] == searchKey)43 break;44 for(int k = j; k < nElems; k++)45 arr[k] = arr[k+1];46 nElems--;47 System.out.println("Delete " + searchKey);48 49 for(j = 0; j < nElems; j++)50 System.out.print(arr[j] + " ");51 System.out.println("");52 53 searchKey = 55;54 nElems++;55 arr[nElems-1] = searchKey;56 System.out.println("Add " + searchKey + " to the end;");57 58 for(j = 0; j < nElems; j++)59 System.out.print(arr[j] + " ");60 System.out.println("");61 62 for(i = 0; i < nElems; i++)63 {64 for(j = i + 1; j < nElems; j++)65 {66 if (arr[i] < arr[j])67 {68 swap = arr[j];69 arr[j] = arr[i];70 arr[i] = swap;71 }72 }73 }74 75 System.out.println("After sort:");76 for(j = 0; j < nElems; j++)77 System.out.print(arr[j] + " ");78 System.out.println("");79 }80 }81
转载地址:http://cxdfa.baihongyu.com/