欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

單鏈表的整表創(chuàng)建以及整表刪除

    一條鏈表是由很多個(gè)結(jié)點(diǎn)元素構(gòu)成,所以,我們想要?jiǎng)?chuàng)建一個(gè)鏈表,只需要循環(huán)創(chuàng)建結(jié)點(diǎn)就可以完成這個(gè)任務(wù)了。按道理講,我們可以只創(chuàng)建帶有數(shù)據(jù)的結(jié)點(diǎn)就可以了,不過(guò),為了更方便的操控鏈表以及更方便的創(chuàng)建結(jié)點(diǎn),我們需要一個(gè)只保存地址域而不存放數(shù)據(jù)的一個(gè)結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)被稱作是頭結(jié)點(diǎn)。在鏈表正式被開始創(chuàng)建之前,我們可以讓頭結(jié)點(diǎn)指向空,也就是NULL。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括浮山網(wǎng)站建設(shè)、浮山網(wǎng)站制作、浮山網(wǎng)頁(yè)制作以及浮山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,浮山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到浮山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

    在生活中,比如,我們?nèi)コ匈I東西,在收銀臺(tái)結(jié)賬時(shí)就會(huì)需要排隊(duì),很明顯,先來(lái)的排在前面,后來(lái)的排在后面,可是,總是會(huì)遇到突發(fā)情況,比如剛好有個(gè)人有急事,于是你就讓他插個(gè)隊(duì),也就是說(shuō),排隊(duì),既可以排在某個(gè)人的前面,也可以排在某個(gè)的后面。同樣的,鏈表元素的創(chuàng)建也有兩種情況,可以創(chuàng)建在某個(gè)元素的前面,也可以創(chuàng)建在某個(gè)元素的后面,即頭插法和尾插法。

    先來(lái)講頭插法。因?yàn)椋谡絼?chuàng)建鏈表之前,已經(jīng)有了一個(gè)頭結(jié)點(diǎn)指向空。那么,當(dāng)?shù)谝粋€(gè)結(jié)點(diǎn)被創(chuàng)建時(shí),該結(jié)點(diǎn)就要保存頭結(jié)點(diǎn)中的地址,然后,將頭結(jié)點(diǎn)的后繼指針指向第一個(gè)被創(chuàng)建的結(jié)點(diǎn)。當(dāng)開始創(chuàng)建第二個(gè)結(jié)點(diǎn)時(shí),我們需要把第二個(gè)結(jié)點(diǎn)的地址域保存第一個(gè)結(jié)點(diǎn)的地址,然后,將頭結(jié)點(diǎn)指向第二個(gè)被創(chuàng)建的結(jié)點(diǎn)的地址。也就是說(shuō),最新別創(chuàng)建的結(jié)點(diǎn),總是在上一個(gè)結(jié)點(diǎn)的前面,緊跟在頭結(jié)點(diǎn)的后面。代碼如下:

void CreateListHead ( LinkList *L, int n )
{
    int i;
    LinkList p;
    
    *L = ( LinkList ) malloc ( sizeof ( Node ) );
    *L = NULL;
    
    srand ( time ( 0 ) );
    for ( i = 0; i < n; ++i ){
        p = ( LinkList ) malloc ( sizeof ( Node ) );
        p->data = rand() % 100 + 1;
        p->next = ( *L )->next;
        
        ( *L )->next = p;
    
    }

}

    接下來(lái),講一下鏈表的尾插法。同樣的,首先就要?jiǎng)?chuàng)建一個(gè)頭結(jié)點(diǎn)。頭結(jié)點(diǎn)中只保存地址沒(méi)有數(shù)據(jù),并且頭結(jié)點(diǎn)中的地址域指向NULL。那么接下來(lái)就要?jiǎng)?chuàng)建第一個(gè)結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)的后繼指針保存頭結(jié)點(diǎn)中存放的值,然后,把頭結(jié)點(diǎn)的地址域更新為第一個(gè)結(jié)點(diǎn)的地址。到這里為止,尾插法跟頭插法做法并無(wú)差別,接下來(lái),差別就開始顯現(xiàn)了。當(dāng)我創(chuàng)建第二個(gè)結(jié)點(diǎn)時(shí),我就要把它跟在第一個(gè)結(jié)點(diǎn)的后面,具體為,把第一個(gè)結(jié)點(diǎn)中保存的地址信息存放在第二個(gè)結(jié)點(diǎn)的地址域中,然后,讓第一個(gè)結(jié)點(diǎn)指向第二個(gè)結(jié)點(diǎn)。到這里為止,一切都是那么自然,那么正常。這時(shí),我們需要?jiǎng)?chuàng)建第三個(gè)結(jié)點(diǎn)了,很明顯,我們需要像之前那樣,把第二個(gè)結(jié)點(diǎn)的地址中的值保存在第三個(gè)結(jié)點(diǎn)中,然后,讓第二個(gè)結(jié)點(diǎn)指向第三個(gè)結(jié)點(diǎn)。到這里有問(wèn)題嗎?如果不仔細(xì)思考,會(huì)發(fā)現(xiàn)毫無(wú)問(wèn)題,但是,若是仔細(xì)思考,就會(huì)發(fā)現(xiàn),問(wèn)題是存在的。之前,在采用頭插法時(shí),我們沒(méi)創(chuàng)建一個(gè)新的結(jié)點(diǎn),都能找到上一個(gè)結(jié)點(diǎn)的地址,因?yàn)?,這個(gè)地址就保存在頭結(jié)點(diǎn)中,因此,我們可以很輕松的取出上一個(gè)結(jié)點(diǎn)的地址。不過(guò),在尾插法時(shí),我們創(chuàng)建一個(gè)新的結(jié)點(diǎn)時(shí),如何找到上一個(gè)結(jié)點(diǎn)中保存的地址呢?因?yàn)?,結(jié)點(diǎn)在不斷的變化,所以,根本無(wú)法找到上一個(gè)結(jié)點(diǎn)中的地址。所以,為了解決這個(gè)問(wèn)題,我們可以再申請(qǐng)一個(gè)指針變量來(lái)動(dòng)態(tài)的跟隨結(jié)點(diǎn)。代碼如下:

void CreateListTail ( LinkList *L, int n )
{
    LinkList p, r;
    int i;
    p = NULL;
    r = NULL;
    
    *L = ( LinkList ) mallocc ( sizeof ( Node ) );
    *L->next = NULL;
    srand ( time ( 0 ) );
    
    r = *L;
    for ( i = 0; i < n; ++i ){
        
        p = ( LinkList ) malloc ( sizeof ( Node ) );
        p->data = rand() % 100 + 1;
        r->next = p;
        r = p;
        
    }
    
    r->next = NULL;   //p->next = NULL;

}

    最后,就是單鏈表的刪除。剛才講了單鏈表的插入,有頭插法和尾插法兩種。那么,就會(huì)問(wèn),單鏈表的刪除會(huì)不會(huì)也有頭刪和尾刪兩種呢?經(jīng)過(guò)思考,這是不可能的,因?yàn)?,你想刪除一個(gè)結(jié)點(diǎn),首先就得知道它的地址,而這個(gè)結(jié)點(diǎn)的地址被保存在上一個(gè)結(jié)點(diǎn)的地址域中,也就是說(shuō),你得不斷的追溯,直到找到第一個(gè)結(jié)點(diǎn),也就是說(shuō),你只能從第一個(gè)結(jié)點(diǎn)開始刪除。那么,一思考發(fā)現(xiàn),我要是把第一個(gè)結(jié)點(diǎn)給刪了,那么這個(gè)鏈表不就斷了嗎,那還怎么刪除后面的元素。所以,很明顯,我們需要申請(qǐng)一個(gè)指針變量來(lái)動(dòng)態(tài)跟隨結(jié)點(diǎn)。代碼如下:

Status ClearList ( LinkList *L )
{
    LinkList p, q;
    
    p = ( *L )->next;
    while ( p != NULL ){
        
       q->next = p->next;
       free ( p );
       p = q;
    
    }
    
    ( *L )->next = NULL;
    
    return OK;

}

    最后,做個(gè)小小的總結(jié)。順序存儲(chǔ)結(jié)構(gòu)在獲取元素信息時(shí)比較方便,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)在插入或刪除數(shù)據(jù)時(shí)比較方便,所以,要根據(jù)適當(dāng)?shù)那闆r選擇合適的存儲(chǔ)結(jié)構(gòu)。

本文名稱:單鏈表的整表創(chuàng)建以及整表刪除
當(dāng)前路徑:http://aaarwkj.com/article28/jeeejp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站軟件開發(fā)、用戶體驗(yàn)商城網(wǎng)站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
日本在线免费成人高清| 在线观看成人激情视频| 日韩精品女性三级视频| 国产丝袜美腿一二三区| 亚洲小视频免费在线观看| 日韩亚洲欧美成人一区| 黑人巨大精品欧美一区免| 天天操时时操夜夜操| 成人av影视中文字幕| 国产av剧情一区二区| 欧美日韩福利视频在线| 伊在人天堂亚洲香蕉精品区| 日本av天堂中文字幕| 玩弄丰满熟妇班主任老师| 亚洲熟妇av一区二区| 国产午夜男人天堂手机| 欧美老熟妇精品一区二区| 日本三本道成人免费毛片| 特级特色生活片免费看| 夜夜嗨av一区二区三区| 日韩人妻熟妇中文字幕| 久久精品一区二区熟女| 免费爱爱视频在线观看| 久久午夜av一区二区| 欧美国产大片一区视频| 国产精品中文第一字幕| 日日狠狠久久偷偷综合色| av日韩在线一区二区三区| 不卡二卡三卡四卡精品| 极品美女被插到高潮喷水| 久久精品熟女亚洲av色| 久久99久久精品视频国产| 国产精品中文字幕日韩在线| 国产高清自拍视频免费| 少妇人妻系列中文在线| 麻豆国产国语精品三级在线观看 | 91午夜福利国产精品| 蜜臀av成人精品蜜臀av| 粉嫩极品美女国产精品| 亚洲人妻一区二区久久| 欧美两性色一区二区三区|