c 連結串列關於查詢的問題,c 連結串列關於查詢的一個問題

2022-12-04 05:16:10 字數 1971 閱讀 9924

1樓:堅持之藍色闊海

很高興為樓主解答,如果滿意,請採納!!

首先樓主的宣告和定義不一致:

宣告

定義

更正宣告部分為&e

更正完後呼叫 listsearch_l(l,3,30);

因為呼叫的函式的第三個引數為引用,不能直接用變數或者常量30

下面是主函式修改部分:

void main()

修改後就能正常了:

修改後的完整**也給你貼上

#include

#define size 5

using namespace std;

typedef int elemtype,status;

typedef struct lnode

lnode,*linklist;

void display(linklist l);

void main()

}void display(linklist l)

cout

++j;

}if(!p||j>i)

return 1;

e=p->data;

return 0;

if(!p||j>i-1)

return 0;

s=(linklist)malloc(sizeof(lnode));

s->data=e;

s->next=p->next;

p->next=s;

return 0;

if(!(p->next)||j>i-1)

return 0;

q=p->next;

p->next=q->next;

e=q->data;

free(q);

return 0;}

2樓:花花浪客

你說的執行不了是指編譯通不過吧?是函式定義部分的問題,下面這個函式體的部分:

......

//下面這些是查詢

{......

裡面的與函式的宣告

不相同,所以把實現部分的elemtype &e前面的&去掉,讓他和宣告一致就ok了

3樓:

//下面這些是查詢

去掉這裡的&

if(!p||j>i)

return 1;

e=p->data;

return 0;

//查詢操作:查詢元素40,30,並告訴使用者該元素是否存在, 查詢第3個元素}

c語言連結串列問題,c語言連結串列的問題

連結串列必須知道頭指標在哪第一個紅圈是初始化指標 因為你剛開始定義連結串列指標的時候指標指向的是隨機的 所以只能初始化 第二個紅圈是第一次給連結串列分配空間 如果頭指標為空就把連結串列指標給頭指標 這倆個語句確實只執行一次 但我沒理解你話的意思 你的理解當然不對了。前一個頭 head 尾 tail ...

c語言程式設計連結串列題,c語言程式設計連結串列題

include include include typedef struct student message stu struct student message static stu head null 建立一個節點,並賦予相應的數值 stu create link node char const...

c 建立連結串列

node p1 new node p2 new node head new node head next p1 p1 next p2 p2 next 0 這樣就建立了你說的 把p1接在頭指標後面,把p2接在p1後面的一個連結串列 頭指標,顧名思義,用來指示連結串列的開始處。頭指標並不存放資料,資料從...