国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java 8實現任意參數的單鏈表

瀏覽:6日期:2022-08-21 18:57:01

本文實例為大家分享了Java 8實現任意參數的單鏈表,供大家參考,具體內容如下

1、實現功能

1)add():鏈表末尾添加元素;2)pop():移除鏈表尾部元素;3)insert():指定索引處添加元素;4)delete():指定索引處刪除元素;5)getSize():獲取鏈表當前長度;6)display():展示鏈表當前元素。

2、代碼

package DataStructure;/** * @author: Inki * @email: inki.yinji@qq.com * @create: 2020 1024 * @last_modify: 2020 1025 */public class MySingleLinkedList <AnyType> { /** * Only used to store the head node. */ private SingleNode<AnyType> head = new SingleNode(new Object()); /** * The single linked list current size. */ private int size = 0; /** * Add element to the end of the list. * @param: * paraVal: The given value. */ public void add(AnyType paraVal) { insert(size, paraVal); }//Of add /** * Pop the last element. * @return: * The popped value. */ public AnyType pop(){ return delete(size - 1); }//Of pop /** * Insert element at specified index. * @param: * paraIdx: The given index. * paraVal: The given value. */ public void insert(int paraIdx, AnyType paraVal) { if (paraIdx > size) { throw new IndexOutOfBoundsException('The index error.'); }//Of if SingleNode <AnyType> tempNode = head; int i = 0; while (i++ < paraIdx) { tempNode = tempNode.next; }//Of while SingleNode<AnyType> paraNode = new SingleNode <>(paraVal); paraNode.next = tempNode.next; tempNode.next = paraNode; size++; }//of add /** * Delete the element at specified index. * @param: * paraIdx: The given index of element to delete. * @return: * The deleted value. */ public AnyType delete(int paraIdx) { if (size == 0) { throw new RuntimeException('The single linked list is empty.'); }//Of if if (size <= paraIdx) { throw new IndexOutOfBoundsException('The index error.'); }//Of if SingleNode <AnyType> retNode = head; int i = 0; while (i++ < paraIdx) { retNode = retNode.next; }//Of while retNode.next = retNode.next.next; size--; return retNode.val; }//Of delete /** * Get the current size of the single linked list. * @return: * The current size of the single linked list. */ public int getSize() { return size; }//Of getSize /** * Display the single linked list. */ public void display() { if (size == 0) { throw new RuntimeException('The single linked list is empty.'); }//Of if System.out.print('The single linked list is:n['); SingleNode <AnyType> tempNode = head; int i = 0; while (i++ < size - 1) { tempNode = tempNode.next; System.out.printf('%s, ', tempNode.val); }//Of while System.out.printf('%s]n', tempNode.next.val); }//Of display /** * The main function. */ public static void main(String[] args) { MySingleLinkedList <Character> test = new MySingleLinkedList<>(); test.add(’a’); test.add(’b’); test.insert(0, ’c’); test.add(’d’); test.insert(0, ’5’); test.delete(4); test.pop(); test.add(’+’); test.display(); System.out.println(test.getSize()); }//Of main}//Of class MySingleLinkedListclass SingleNode <AnyType>{ /** * The value. */ AnyType val; /** * The next node. */ SingleNode<AnyType> next; /** * The first constructor. * @param * paraVal: The given value. */ SingleNode (AnyType paraVal) { val = paraVal; }//The first constructor}//Of class SingleNode

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 久久亚洲精品成人 | 国产最爽的乱淫视频国语对 | 久久国产亚洲精品 | 久久99久久99精品免观看 | 亚洲精品成人网久久久久久 | 亚洲视频自拍 | 日韩精品一区二区三区在线观看l | 久久久久久久久久毛片精品美女 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人香蕉久久久久 | 97成人在线 | bt天堂午夜国产精品 | 毛片成人| 91啦国产 | 亚洲国产欧美日韩第一香蕉 | 亚洲美女视频在线 | 国产区在线免费观看 | 中文字幕av一区二区三区 | 国产亚洲精品影达达兔 | 日本韩国台湾香港三级 | 国产乱码精品一区二区三区卡 | 黄频漫画 | 在线观看片成人免费视频 | 国产精品永久在线 | 91一级片 | 欧美不卡视频 | 国产成人免费网站在线观看 | 黄色福利小视频 | 亚洲免费成人 | 国产成人精品一区二区秒拍 | 日本国产欧美色综合 | xxxww在线播放 | 日韩欧美一区二区在线观看 | 国产一区二区三区影院 | 人人99| 黄网在线观看免费 | 免费播放欧美毛片欧美aaaaa | 1a级毛片免费观看 | 三级c欧美做人爱视频 | 亚洲欧美在线免费观看 | 久久久在线视频精品免费观看 | 色偷偷女男人的天堂亚洲网 |