亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1866 | 回復(fù): 4
打印 上一主題 下一主題

[C] 請教單鏈表問題(《C和指針》里的示例) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-11-11 11:51 |只看該作者 |倒序瀏覽
#include <stdlib.h>
#include <stdio.h>
#define False 0
#define True 1

typedef struct NODE
{
    struct NODE *link;
    int value;
} Node;
int sll_insert(Node *current, int new_value)
{
    Node *previous;
    Node *new;

    // 尋找正確的插入位置,方法是按順序訪問鏈表,直到到達(dá)其值大于或等于新插入值的節(jié)點
    while (current->value < new_value)
    {
        previous = current;
        current = current->link;
    }

    // 為新節(jié)點非配內(nèi)存,并把新值存儲到新節(jié)點中,如果失敗,返回False
    new = (Node *)malloc(sizeof(Node));
    if (new == NULL)
        return False;
    new->value = new_value;

    // 把新節(jié)點插入到鏈表中,并返回True
    new->link = current;
    previous->link = new;
    return True;
}

以上是示例程序,我覺得這是一個用來說明原理,但不能拿來直接用的對吧?
一點都不能理解,數(shù)據(jù)源究竟是什么樣的?
在while循環(huán)中,為什么current = current->link;這個語句中的current->link這個指針指向的就是下一個結(jié)構(gòu)?
各大神把這個例子補(bǔ)全或者稍微給點什么提示,或者說一些有什么文檔可以幫助理解的,謝謝謝謝謝謝

論壇徽章:
0
2 [報告]
發(fā)表于 2014-11-11 14:04 |只看該作者
我又來支持了!壇子里因你而精彩~~~

論壇徽章:
11
巨蟹座
日期:2013-12-23 11:12:14雙子座
日期:2014-08-28 09:14:55子鼠
日期:2014-07-25 16:21:22摩羯座
日期:2014-07-23 15:17:47摩羯座
日期:2014-05-30 13:09:05午馬
日期:2014-04-30 18:10:00天秤座
日期:2014-04-25 12:12:00申猴
日期:2014-04-22 11:30:15午馬
日期:2014-03-07 16:06:40辰龍
日期:2013-12-25 18:36:00摩羯座
日期:2014-09-02 17:00:55
3 [報告]
發(fā)表于 2014-11-11 14:13 |只看該作者
#include <list>

論壇徽章:
14
水瓶座
日期:2014-06-10 09:51:0215-16賽季CBA聯(lián)賽之江蘇
日期:2017-11-27 11:42:3515-16賽季CBA聯(lián)賽之八一
日期:2017-04-12 14:26:2815-16賽季CBA聯(lián)賽之吉林
日期:2016-08-20 10:43:1215-16賽季CBA聯(lián)賽之廣夏
日期:2016-06-23 09:53:58程序設(shè)計版塊每日發(fā)帖之星
日期:2016-02-11 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-02-09 06:20:0015-16賽季CBA聯(lián)賽之上海
日期:2015-12-25 16:40:3515-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-22 09:39:36程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-24 06:20:002015亞冠之德黑蘭石油
日期:2015-08-07 09:57:302015年辭舊歲徽章
日期:2015-03-03 16:54:15
4 [報告]
發(fā)表于 2014-11-11 14:17 |只看該作者
previous指向要插入的上個位置
current指向要插入的下個位置

這貨找到尾,current->value不掛?

論壇徽章:
0
5 [報告]
發(fā)表于 2014-11-11 15:46 |只看該作者
回復(fù) 4# lxyscls

我改進(jìn)了,知道咋用了

#include <stdlib.h>
#include <stdio.h>
#define False 0
#define True 1

typedef struct NODE
{
    struct NODE *link;
    int value;
} Node;

Node *sll_insert(register Node *linkp, int new_value)
{
    register Node *current;
    register Node *new;

    // 尋找正確的插入位置,方法是按順序訪問鏈表,直到到達(dá)其值大于或等于新插入值的節(jié)點
    while ((current = linkp) != NULL && current->value < new_value)
        linkp = current->link;

    // 為新節(jié)點分配內(nèi)存,并把新值存儲到新節(jié)點中,如果失敗,返回False
    new = (Node *)malloc(sizeof(Node));
    if (new == NULL)
        return False;
    new->value = new_value;

    // 把新節(jié)點插入到鏈表中,并返回True
    new->link = current;
    linkp = new;
    return linkp;
}

int main(void)
{
    Node a, b, c, *linkp;
    a.value = 5;
    a.link = &b;

    b.value = 10;
    b.link = &c;

    c.value = 15;
    c.link = NULL;

    linkp = (Node *)malloc(sizeof(Node));
    linkp = &a;
    sll_insert(linkp, 12);
    printf("linkp: %d\n", linkp->value);
    return 0;
}
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP