單鏈表的頭插法和尾插法

頭插法

  • 簡(jiǎn)介
    頭插法建立單鏈表的算法雖然簡(jiǎn)單,但生成的鏈表中結(jié)點(diǎn)的次序和輸入數(shù)據(jù)的順序不一致。若希望兩者次序一致,可采用尾插法髓窜。該方法是將新結(jié)點(diǎn)插入到當(dāng)前鏈表的表尾上,為此必須增加一個(gè)尾指針r,使其始終指向當(dāng)前鏈表的尾結(jié)點(diǎn)欺殿,如圖所示寄纵。

    頭插法圖解.jpg

  • 代碼實(shí)現(xiàn)

//鏈表節(jié)點(diǎn)類實(shí)現(xiàn)
public class Node<T> {

    /**
     * 下一個(gè)節(jié)點(diǎn)
     */
    Node<T> next;

    /**
     * 節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)
     */
    T val;

    /**
     *
     * @param val data域
     * @param next 指針域
     */
    Node(T val,Node<T> next){
        this.val=val;
        this.next=next;
    }

    boolean hasNext(){
        return this.next!=null;
    }
}

//單鏈表的操作類
public class LinearList<T> {
    //鏈表頭結(jié)點(diǎn)
    Node<T> head;

    public LinearList(){
        //空鏈表
        this.head=new Node<T>(null,null);
    }
    
    //頭插法 鏈表 指針指向最this.head
    void add(T val){
        this.head=new Node<T>(val,this.head);
    }
    
    public static void main(String[] args) {
        LinearList<Integer> list = new LinearList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        Node<Integer> head = list.head;
        while (head.hasNext()) {
            System.out.println(head.val);
            head = head.next;
        }
    }
}

尾插法

  • 介紹
    頭插法建立單鏈表的算法雖然簡(jiǎn)單,但生成的鏈表中結(jié)點(diǎn)的次序和輸入數(shù)據(jù)的順序不一致脖苏。若希望兩者次序一致程拭,可采用尾插法。該方法是將新結(jié)點(diǎn)插入到當(dāng)前鏈表的表尾上棍潘,為此必須增加一個(gè)尾指針r,使其始終指向當(dāng)前鏈表的尾結(jié)點(diǎn)恃鞋,如圖所示。
尾插法.jpg
  • C語(yǔ)言代碼
LinkList  CreatList2(LinkList &L){
    //從表頭到表尾正向建立單鏈表L,每次均在表尾插入元素
    int x;  // 設(shè)元素類型為整型
    L=(LinkList)malloc(sizeof(LNode));
    LNode *s, *r=L;  //r 為表尾指針
    scanf ("%d", &x);  //輸入結(jié)點(diǎn)的值
    while (x!=9999) {  //輸入 9999 表示結(jié)束
        s=(LNode *)malloc(sizeof(LNode));
        s->data=x;
        r->next=s;
        r=s;  //r指向新的表尾結(jié)點(diǎn)
        scanf ("%d", &x);
    }
    r->next = NULL;  //尾結(jié)點(diǎn)指針置空
    return L;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜒谤,一起剝皮案震驚了整個(gè)濱河市山宾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鳍徽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敢课,死亡現(xiàn)場(chǎng)離奇詭異阶祭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)直秆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門濒募,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人圾结,你說(shuō)我怎么就攤上這事瑰剃。” “怎么了筝野?”我有些...
    開(kāi)封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵晌姚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我歇竟,道長(zhǎng)挥唠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任焕议,我火速辦了婚禮宝磨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己唤锉,他們只是感情好世囊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著窿祥,像睡著了一般株憾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壁肋,一...
    開(kāi)封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天号胚,我揣著相機(jī)與錄音,去河邊找鬼浸遗。 笑死猫胁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跛锌。 我是一名探鬼主播弃秆,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼髓帽!你這毒婦竟也來(lái)了菠赚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤郑藏,失蹤者是張志新(化名)和其女友劉穎衡查,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體必盖,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拌牲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歌粥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塌忽。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖失驶,靈堂內(nèi)的尸體忽然破棺而出土居,到底是詐尸還是另有隱情,我是刑警寧澤嬉探,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布擦耀,位于F島的核電站,受9級(jí)特大地震影響甲馋,放射性物質(zhì)發(fā)生泄漏埂奈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一定躏、第九天 我趴在偏房一處隱蔽的房頂上張望账磺。 院中可真熱鬧芹敌,春花似錦、人聲如沸垮抗。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冒版。三九已至液茎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辞嗡,已是汗流浹背捆等。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留续室,地道東北人栋烤。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挺狰,于是被迫代替她去往敵國(guó)和親明郭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容