亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈表插入函數問題,關于指針指向

鏈表插入函數問題,關于指針指向

呼如林 2019-02-25 08:13:32
原鏈表1 2 3。第一段函數運行正確,插入后為1 2 4 3;改為第二段代碼運行,結果為2 3 4。問題來了,注意我標出的地方p=(*L);第一段函數我用p做鏈表元素操作,第二段全替換為(*L)鏈表元素操作。為什么結果卻不同了,如果p是(*L)的指針,結果應該相同;如果(*L)只是給p賦值的話,那么showlist()函數應該顯示(*L)原鏈表而不是修改過的p鏈表?我想問題主要是我對p=(*L);的理解不夠吧 status Listinsert(Linklist *L,int j,Elemtype e) { Linklist p,r; p=(*L); // int i=2; r=(Linklist)malloc(sizeof(Node)); r->data=e; r->next=NULL; while(i<j) { i++; p=p->next; } r->next=p->next; p->next=r; return OK; } 和 status Listinsert(Linklist *L,int j,Elemtype e) { Linklist p,r; //p=(*L); //下面用(*L)替換p,運行后有問題 int i=2; r=(Linklist)malloc(sizeof(Node)); r->data=e; r->next=NULL; while(i<j) { i++; (*L)=(*L)->next; //替換 } r->next=(*L)->next; //替換 (*L)->next=r; return OK; } //////////////////////////////////////// 完整代碼 #include <stdio.h> #include <stdlib.h> typedef int status,Elemtype; #define OK 1 #define NO 0 typedef struct Node { status data; struct Node *next; } Node; typedef struct Node* Linklist; void Initlist(Linklist *L) { (*L)=(Linklist)malloc(sizeof(struct Node)); (*L)->data=0; (*L)->next=NULL; } status Listinsert(Linklist *L,int j,Elemtype e) ////正確 { Linklist p,r; p=*L; int i=2; r=(Linklist)malloc(sizeof(Node)); r->data=e; r->next=NULL; while((*L)&&i<j) { i++; p=p->next; } r->next=p->next; p->next=r; return OK; } status Getelem(Linklist L,int j,Elemtype *e) { Linklist p; int i;// for(i=0; i<j-1; i++) { p=L->next; L=p; } L->next=NULL; (*e)=L->data; return OK; } void showlist(Linklist L) { Linklist p; while(L) { printf("%d\n",L->data); p=L->next; L=p; } } int main() { int x=1; int *e=&x; Node *root,first,second,third; first.data=1; first.next=&second; second.data=2; second.next=&third; third.data=3; third.next=NULL; root=&first; //showlist(root); // if(Getelem(root,3,e)) // printf("%d",*e); if(Listinsert(&root,3,4)==1) showlist(root); return 0; }
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 421 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號