运用Java数据结构的知识创建树,内容是族谱。

姓氏族谱
关注问题
回答
2021-07-14
4
2437
提交答案
4个回答
候戴玥
2021-07-14
每一个节点有一个成员变量引用下一个节点就行了。 大致实现了一下单向链表 没有加入异常也没有仔细考虑实现的代码的效率,可以参考下。 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 public class LinkListTest {     public static void main(String[] args) {         LinkList<String> ll=new LinkList<String>();         ll.add("a");         ll.add("b");         ll.add("c");         ll.add("d");         ll.remove(1);         System.out.println(ll.get(0));         System.out.println(ll.get(1));         System.out.println(ll.get(2));         System.out.println(ll.get(3));         System.out.println(ll.size());     } } class LinkList<T>{     private Node<T> frist=null;     private Node<T> last=null;     private int size=0;     public void add(T t){         if(frist==null){             Node<T> node=new Node<T>();             node.setT(t);             size++;             frist=node;             last=node;         }else{                     Node<T> node=new Node<T>();                    node.setT(t);             last.setNextNode(node);             size++;             last=node;         }     }     public T get(int i){               if(i>=0&&i<size){             Node<T> nod=null;             for(int n=0;n<=i;n++){                 if(n==0)                    nod=frist;                 else                    nod=nod.getNextNode();                              if(i==n){                     return nod.getT();                 }                      }                  }          return null;     }      public void remove(int i){         if(i>=0&&i<size){            if(size<2){                frist=null;                last=null;                size=0;            }else{                size--;               if(i==0){                  frist=frist.getNextNode();                       }else{                           Node<T> nod1=null;                     Node<T> nod2=null;                     for(int n=0;n<=i;n++){                         if(n==0){                            nod1=frist;                            nod2=frist;                         }else{                            nod2=nod1;                            nod1=nod1.getNextNode();                                               }                          if(i==n){                             if(nod1!=null)                                 nod2.setNextNode(nod1.getNextNode());                             else{                                 nod2.setNextNode(null);                                 last=nod2;                             }                         }                                  }                }                }         }     }     public int size(){         return size;     } } class Node <T>{     public T getT() {         return t;     }     public void setT(T t) {         this.t = t;     }     public Node<T> getNextNode() {         return nextNode;     }     public void setNextNode(Node<T> nextNode) {         this.nextNode = nextNode;     }     private T t;     private Node<T> nextNode=null; }
相关问题
给祖先上坟有什么禁忌吗
有的。首先,上坟时忌穿颜色鲜艳的衣服,清明节在扫墓的时候,不宜穿得过于显现,因为扫墓本来就是一件比较严肃的事情,所以着装尽量淡雅一-些, 大红大紫的颜色,在中国具有喜庆的意味,所以不适合在这样的场合出现,当然,清明节除了扫墓以外的时间,比如和亲人一起踏青什么的,衣着倒是没有太多的讲究,主要是看具体的场合吧。 另外,忌嬉笑打闹除了衣着上的讲究,言行举止也要有所讲究,不要在扫墓的时候嬉笑打闹,或者做一些不严谨的举止,因为按照老人的说法,这会惊扰了先人,也是对先人的不尊重的行为。所以扫墓的时候,尽量要恭敬和严谨些,以表达对先人的尊敬。 最后一点就是要注意上坟时的贡品。一般上坟都会带贡品吧,这些贡品是用来祭献祖先的,在没有给先人祭献之前的,人是不能先食用的。而是等_上供之后,大家回到家,再一起分享。如若不然,也是对先人的一种不尊重。没有先人,就没有后人,没有先人辛苦的付出,也就没有后人幸福的现在。所以我们对于先人的尊重,也是需要在清明节的时候体现出来的。
沈姓的祖先是谁?
沈姓在百家姓中排列在十四位,目前来说,其人口是有600万人左右,排列第37位。 其源流很多,但是说的最多的一个源流,大概是出自于嬴姓。沈姓的先祖叫实沈,是黄帝的后裔帝喾之子。实沈氏族后来因与少昊氏部落杂居而东夷化,故为嬴姓。后来,他们建立了沈国。周昭王南征时,嬴姓沈国被灭,其子孙就以国为姓。 夏朝时,夏人建立了姒姓沈国。至周初,蒋国灭了姒姓沈国,沈人南迁到楚地的沈鹿,其子孙也改姓沈。 西周初年,文王的第十个儿子季载被封于沈(今河南平舆北)。公元前506年,姬姓沈国被蔡国吞并,沈国的后人就称为沈氏。 目前沈姓是江浙地区最常见的姓氏之一。
周氏有哪些字辈?
周姓,是中国第九大姓氏,也是一个多民族,多源流的古老姓氏之一了。周姓最初是发源于今陕西渭河平原地区。而到今天,周姓主要是分布在长江流域和淮河流域,形成了沿长江省份、豫鲁两块高比率的分布状况。 周氏的字辈: 1、山东周氏族谱山东省周氏字牌辈序:~隆、茂、庆、传、长、广、生(升)忠、厚、嗣(世)、志、永远、祯(元)、正、方。后又续序:志德开宏运达孝毓富祥教礼培家训信义作保章。 2、四川成都(现湖北恩施自治州)周氏字辈:太祖应朝忠,永远世代兴,丕振仙仁月,长源玉厚坤。 3、益阳大泉周氏字辈:贵文祖志一,永兴万代天,仁学宏宗益,世守绍前贤,继述声名显,由来达孝全,振起三以让,令德庆悠绵。 4、重庆市永川区邓家坳周氏(尚书公后裔)字辈:尚梦应康世,孙宗道仕友,子均仲忠万,以自时大章,华先维继述,裕后乐英贤。秩序本天定,彝伦在人全,谟烈由今绍,奕叶谱相传,家乘恪遵守,祥发永绵延 你还知道周氏有哪些字辈吗?
每年12月10日出生是什么星座?有哪些名人
想问一下每年12月10日出生的人是属于什么星座?在历史上有哪些人是这个星座的啊大概?
出生于12月10日的古今名人有哪些?
在198年前的今天,1815年12月10日 (农历冬月初十),计算机科学先驱爱达·勒芙蕾丝出生。奥古斯塔·爱达·金,勒芙蕾丝伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奥古斯塔·爱达·拜伦(Augusta Ada Byron),通称爱达·勒芙蕾丝(Ada Lovelace),是著名英国诗人拜伦之女,最著名的事迹为翻译意大利人查尔斯·巴贝奇早期的程式设计书《分析机概论》(analytical engine),爱达对翻译查尔斯·巴贝奇的《分析机概论》所留下的笔记,被认为对现代电脑与软件工程造成了重大影响。 你还知道哪些12月10日出生的名人?
微信
QQ空间
QQ
微博