国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

數(shù)據(jù)結(jié)構(gòu)–單鏈表的定義

本節(jié)的學(xué)習(xí)目標(biāo):

單鏈表的定義(如何用代碼實(shí)現(xiàn))

數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義
數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義

優(yōu)點(diǎn):不要求大片連續(xù)空間,改變?nèi)萘糠奖?br> 缺點(diǎn):不可隨機(jī)存取,要耗費(fèi)一定空間存放指針

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

struct LNode
{
    ElemType data;  //數(shù)據(jù)域
    struct LNode *next; //指針域
};

struct LNode *p = (struct LNode*)malloc(sizeof(struct LNode));
//增加一個(gè)新的結(jié)點(diǎn):在內(nèi)存中申請(qǐng)一個(gè)結(jié)點(diǎn)所需空間,并用指針p指向這個(gè)結(jié)點(diǎn)
數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義

為了方便 我們經(jīng)常使用typedef

t y p e d e f < 數(shù)據(jù)類型 > < 別名 > \color{purple}typedef <數(shù)據(jù)類型> <別名> typedef<數(shù)據(jù)類型><別名>

代碼一:

struct LNode
{
    ElemType data;  //數(shù)據(jù)域
    struct LNode *next; //指針域
};

typedef struct LNode LNode;
typedef struct LNode* LinkList;

代碼二:

typedef struct LNode
{
    ElemType data;  //數(shù)據(jù)域
    struct LNode *next; //指針域
} LNode, *LinkList;

代碼一與代碼二是等價(jià)的
我們一般使用代碼二

如何表示一個(gè)單鏈表

要表示一個(gè)單鏈表時(shí),只需聲明一個(gè)頭指針L,指向單鏈表的第一個(gè)結(jié)點(diǎn)

LNode * L; //聲明一個(gè)指向單鏈表第一個(gè)結(jié)點(diǎn)的指針
//或:
LinkList L; //聲明一個(gè)指向單鏈表第一個(gè)結(jié)點(diǎn)的指針
// 這個(gè)可讀性更強(qiáng)

不帶頭結(jié)點(diǎn)的單鏈表

typedef struct LNode
{
    ElemType data;  //每個(gè)節(jié)點(diǎn)存放一個(gè)數(shù)據(jù)元素
    struct LNode *next; //指針指向下一個(gè)節(jié)點(diǎn)
}LNode, *LinkList;

bool Empty(LinkList L) //判斷單鏈表是否為空
{
    return L == NULL;
}
void InitList(LinkList&L)
{
    L = NULL;
}

int main()
{
    LinkList L; //聲明一個(gè)指向單鏈表的指針
    InitList(L);  //初始化一個(gè)空表
    // ... ...

    return 0;
}

帶頭結(jié)點(diǎn)的單鏈表

數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義
typedef struct LNode
{
    ElemType data;  //每個(gè)節(jié)點(diǎn)存放一個(gè)數(shù)據(jù)元素
    struct LNode *next; //指針指向下一個(gè)節(jié)點(diǎn)
}LNode, *LinkList;

bool Empty(LinkList L) //判斷單鏈表是否為空
{
    return L->next == NULL;
}
bool InitList(LinkList&L)
{
    L = (LNode *)malloc(sizeof(LNode)); //分配一個(gè)頭結(jié)點(diǎn)
    if (L == NULL)  //內(nèi)存不足,分配失敗
        return false;
    L->next = NULL; //頭結(jié)點(diǎn)之后暫時(shí)還沒有節(jié)點(diǎn)
    return true;
}

int main()
{
    LinkList L; //聲明一個(gè)指向單鏈表的指針
    InitList(L);  //初始化一個(gè)空表
    // ... ...

    return 0;
}

不帶頭 VS 帶頭

帶頭結(jié)點(diǎn),寫代碼更方便
不帶頭結(jié)點(diǎn),寫代碼更麻煩
對(duì)第一個(gè)數(shù)據(jù)結(jié)點(diǎn)和后續(xù)數(shù)據(jù)結(jié)點(diǎn)的處理需要用不同的代碼邏輯
對(duì)空表和非空表的處理需要用不同的代碼邏輯

一般我們使用帶頭結(jié)點(diǎn)的單鏈表文章來源地址http://www.zghlxwxcb.cn/news/detail-507206.html

知識(shí)點(diǎn)回顧與重要考點(diǎn)

數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)--單鏈表的定義的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)——單鏈表的查找、求單鏈表長度、單鏈表的創(chuàng)建

    數(shù)據(jù)結(jié)構(gòu)——單鏈表的查找、求單鏈表長度、單鏈表的創(chuàng)建

    一、單鏈表的查找 1.按位查找 ==GetElem(L, i): == 按位查找操作,獲取表 L 中第 i 個(gè)位置的元素的值 ; ? 平均時(shí)間復(fù)雜度O(n) 2.按值查找 ==LocateElem(L, e)==: 按值查找操作,在表 L 中查找具有給定值的元素 ; 二、求單鏈表的長度 == Length(LinkList L)== :計(jì)算單鏈表中數(shù)據(jù)結(jié)點(diǎn)(

    2024年01月21日
    瀏覽(7)
  • 【數(shù)據(jù)結(jié)構(gòu)】單鏈表的實(shí)現(xiàn)

    【數(shù)據(jù)結(jié)構(gòu)】單鏈表的實(shí)現(xiàn)

    ??個(gè)人主頁:平凡的小蘇 ??學(xué)習(xí)格言:別人可以拷貝我的模式,但不能拷貝我不斷往前的激情 ??C語言專欄:https://blog.csdn.net/vhhhbb/category_12174730.html ??數(shù)據(jù)結(jié)構(gòu)專欄:https://blog.csdn.net/vhhhbb/category_12211053.html ? ? ? ? 家人們更新不易,你們的??點(diǎn)贊??和?關(guān)注?真的對(duì)我

    2023年04月09日
    瀏覽(93)
  • 【數(shù)據(jù)結(jié)構(gòu)】-- 單鏈表的實(shí)現(xiàn)

    【數(shù)據(jù)結(jié)構(gòu)】-- 單鏈表的實(shí)現(xiàn)

    在前面我們學(xué)習(xí)了順序表,順序表在數(shù)組的基礎(chǔ)上提供了很多現(xiàn)成的方法,方便了我們對(duì)數(shù)據(jù)的管理,但是我們也發(fā)現(xiàn)順序表有著許多不足: 在處理大型的數(shù)據(jù)時(shí),需要頻繁的增容且在中間刪除或插入數(shù)據(jù)時(shí)需要遍歷順序表,這些性質(zhì)導(dǎo)致了順序表的 效率較低 。這時(shí)我們就

    2024年04月27日
    瀏覽(110)
  • 【數(shù)據(jù)結(jié)構(gòu)—單鏈表的實(shí)現(xiàn)】

    【數(shù)據(jù)結(jié)構(gòu)—單鏈表的實(shí)現(xiàn)】

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 目錄 前言 1. 鏈表的概念及結(jié)構(gòu) 2. 單鏈表的實(shí)現(xiàn) 2.1單鏈表頭文件——功能函數(shù)的定義 2.2單鏈表源文件——功能函數(shù)的實(shí)現(xiàn) 2.3 單鏈表源文件——功能的測(cè)試 3.具體的理解操作圖 4. 鏈表的分類 總結(jié) 世上

    2024年02月05日
    瀏覽(93)
  • 【(數(shù)據(jù)結(jié)構(gòu))— 單鏈表的實(shí)現(xiàn)】

    【(數(shù)據(jù)結(jié)構(gòu))— 單鏈表的實(shí)現(xiàn)】

    概念: 鏈表是?種 物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、 非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的 邏輯順序 是通過鏈表中的 指針鏈接 次序?qū)崿F(xiàn)的 。 鏈表的結(jié)構(gòu)跟???廂相似,淡季時(shí)?次的?廂會(huì)相應(yīng)減少,旺季時(shí)?次的?廂會(huì)額外增加?節(jié)。只需要將???的某節(jié)?廂去掉/加上,不會(huì)影響

    2024年02月08日
    瀏覽(102)
  • 【數(shù)據(jù)結(jié)構(gòu)】單鏈表的層層實(shí)現(xiàn)!! !

    【數(shù)據(jù)結(jié)構(gòu)】單鏈表的層層實(shí)現(xiàn)!! !

    關(guān)注小莊 頓頓解饞(●’?’●) 上篇回顧 我們上篇學(xué)習(xí)了本質(zhì)為數(shù)組的數(shù)據(jù)結(jié)構(gòu)—順序表,順序表支持下標(biāo)隨機(jī)訪問而且高速緩存命中率高,然而可能造成空間的浪費(fèi),同時(shí)增加數(shù)據(jù)時(shí)多次移動(dòng)會(huì)造成效率低下,那有什么解決之法呢?這就得引入我們鏈表這種數(shù)據(jù)結(jié)構(gòu) 概念

    2024年03月12日
    瀏覽(1049)
  • 【數(shù)據(jù)結(jié)構(gòu)】單鏈表的簡(jiǎn)單實(shí)現(xiàn)

    【數(shù)據(jù)結(jié)構(gòu)】單鏈表的簡(jiǎn)單實(shí)現(xiàn)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 單鏈表是一種鏈?zhǔn)酱嫒〉臄?shù)據(jù)結(jié)構(gòu),用一組地址任意的存儲(chǔ)單元存放線性表中的數(shù)據(jù)元素。鏈表中的數(shù)據(jù)是以結(jié)點(diǎn)來表示的,每個(gè)結(jié)點(diǎn)的構(gòu)成:元素(數(shù)據(jù)元素的映象) + 指針(指示后繼元素存儲(chǔ)位置),元

    2024年02月04日
    瀏覽(96)
  • 數(shù)據(jù)結(jié)構(gòu)--單鏈表的插入&刪除

    數(shù)據(jù)結(jié)構(gòu)--單鏈表的插入&刪除

    目標(biāo) 單鏈表的插入(位插、前插、后插) 單鏈表的刪除 按為序插入(帶頭結(jié)點(diǎn)) ListInsert(L,i,e):插入操作。在表L中的第i個(gè)位置上插入指定元素e。 思路:找到第i-1個(gè)結(jié)點(diǎn),將新結(jié)點(diǎn)插入其后 代碼實(shí)現(xiàn) 時(shí)間復(fù)雜度 最好時(shí)間復(fù)雜度 O(1) 最壞時(shí)間復(fù)雜度 O(1) 平均時(shí)間復(fù)雜度 O(1) 按位

    2024年02月07日
    瀏覽(30)
  • 探索數(shù)據(jù)結(jié)構(gòu):?jiǎn)捂湵淼膶?shí)戰(zhàn)指南

    探索數(shù)據(jù)結(jié)構(gòu):?jiǎn)捂湵淼膶?shí)戰(zhàn)指南

    ?? 歡迎大家來到貝蒂大講堂?? ????養(yǎng)成好習(xí)慣,先贊后看哦~???? 所屬專欄:數(shù)據(jù)結(jié)構(gòu)與算法 貝蒂的主頁:Betty‘s blog 在上一章節(jié)中我們講解了數(shù)據(jù)結(jié)構(gòu)中的順序表,知道了順序表的空間是連續(xù)存儲(chǔ)的,這與數(shù)組非常類似,為我們隨機(jī)訪問數(shù)據(jù)提供了便利的條件。但

    2024年03月09日
    瀏覽(27)
  • 【數(shù)據(jù)結(jié)構(gòu)】實(shí)現(xiàn)單鏈表的增刪查

    【數(shù)據(jù)結(jié)構(gòu)】實(shí)現(xiàn)單鏈表的增刪查

    鏈表類和節(jié)點(diǎn)類的定義: 圖解: 從中間位置插入: 圖解:假定index=2 尾插: 刪除當(dāng)前線性表中索引為index的元素,返回刪除的元素值: 圖解: 刪除當(dāng)前線性表中第一個(gè)值為element的元素: 刪除當(dāng)前線性表中所有值為element的元素: 將當(dāng)前線性表中index位置的元素替換為eleme

    2024年02月14日
    瀏覽(917)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包