本文共 2395 字,大约阅读时间需要 7 分钟。
顺序链表的java类文件:SequenceList.java文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | package list; public class SequenceList { private int LIST_INIT_SIZE = 5 ; //链表的原始大小 private int INCREMENT = 1 ; //链表的增量大小 private Object []SqList = null ; //链表 private int curIndex= 0 ; //当前位置 /** * 初始化链表 * */ public void initList() { SqList = new Object[LIST_INIT_SIZE]; } /** * 向链表中插入元素 * */ public void insertList(Object o) { if (curIndex>LIST_INIT_SIZE- 1 ) //判断当前链表是否已经满 { //从新为链表分配空间 System.out.println( "从新分配空间" ); LIST_INIT_SIZE+=INCREMENT; Object []temp = new Object[LIST_INIT_SIZE]; for ( int i= 0 ;i<curIndex;i++) { temp[i]=SqList[i]; } SqList= null ; SqList=temp; } //链表中如果不让其包含重复元素,则加入这段代码 /* if(isContain(o)) { System.out.println("链表中已包含此元素"+o); }else { } */ SqList[curIndex++]= o; } /** * 判断链表中是否包含某元素 * */ Boolean isContain(Object o) { for ( int i= 0 ;i<curIndex;i++) { if (SqList[i].equals(o)) { return true ; } } return false ; } /** * 删除链表中的某元素 * * 如果包含重复元素都删除 * */ public void delete(Object o) { for ( int i= 0 ;i<curIndex;i++) { if (SqList[i].equals(o)) { for ( int j=i;j<curIndex- 1 ;j++) { SqList[j]=SqList[j+ 1 ]; } curIndex--; continue ; } if (i==curIndex- 1 ) { System.out.println( "不存在此元素" +o); } } } /** * 获取链表中的某个元素 * */ public Object getElement( int i) { if (i <= 0 || i > curIndex) { System.out.println( "获取位置超出了链表中元素个数" +curIndex); } return SqList[i- 1 ]; } /** * 打印链表 * */ public void print() { for ( int i= 0 ;i<curIndex;i++) { System.out.print(SqList[i]+ "\t" ); } System.out.println(); } } |
Main函数测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package list; public class SequenceListMain { public static void main(String[] args) { SequenceList sqList = new SequenceList(); sqList.initList(); sqList.insertList( 1 ); sqList.insertList( 2 ); sqList.insertList( 3 ); sqList.insertList( 4 ); sqList.insertList( 5 ); sqList.insertList( 6 ); sqList.delete( 5 ); sqList.delete( 9 ); sqList.insertList( 1 ); sqList.print(); sqList.delete( 1 ); sqList.print(); System.out.println( "第2个元素是:" +sqList.getElement( 1 )); System.out.println( "第4个元素是:" +sqList.getElement( 4 )); } } |
转载地址:http://dpmwb.baihongyu.com/