程杰的《大话数据结构》是以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 else 38 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
时间: 2024-11-03 10:43:38