1樓:741852963一
del函式while改為:while(p1!=null)if(p1->data==num)
p1=p1->next;}
2樓:郝在益
這個就需要你判斷了,你首先需要將連結串列的資料全部遍歷一遍,在遍歷的同時就判斷該資料是否為你要刪除的資料,如果是,就刪除,繼續遍歷……一直到結束,這樣就可以吧1全部刪除了。
滿意請採納!
3樓:匿名使用者
用這個程式到處回答問題 發財了我 你看下原碼了 ,不懂可以問我的 ,必須要採納哦
理解二級指標就都好辦了
#include
#include
#include
struct student //定義節點型別
;typedef struct student * list; //定義節點的指標型別
void insert(list *ll,int age,char name) //插入元素
*ll=p;
}void remove(list *ll,char name) //ll為指向指標的指標,name為你要刪除的姓名
else
ll=&((*ll)->next); //不等於往下跳乙個節點}}
int main()}
4樓:匿名使用者
stl原始碼 remove
c語言如何刪除連結串列頭節點?
5樓:覃寞
這種刪除方法是頭節點存放值的,這樣可以清楚的看到是否刪除掉了頭節點。
用p儲存頭節點 p=head;
head指向下乙個節點,成為新的頭節點 head=p->next;
釋放原來的頭節點 free(p);
#include
#include
#include
void printlist(struct node *head);
struct node* delhead(struct node *head);
struct node;
int main()
printlist(head);
head=delhead(head);
printlist(head);
system("pause");
return 0;
}//刪除頭結點
struct node* delhead(struct node *head)
//列印連結串列
void printlist(struct node *head)printf("\n");}
6樓:匿名使用者
將定義乙個新的指標, 賦值給這個指標第二個節點
然後刪除頭節點 資料段 等,將頭節點賦值成 這個新的指標指向的節點就行了
7樓:匿名使用者
struct a
struct a* head;//指向頭結點
則刪除頭結點過程:
8樓:豆大根深
p->a,其中p為指向連結串列的指標, a為連結串列表頭節點,假如後續連結串列為:
a->b;
b->c;
c->d;
要刪除連結串列頭節點的話,修改p的指向位置即可:
p->a => p->b;
9樓:匿名使用者
表節點a -》頭節點b-》首節點c
**表節點沒資料
point p=a->nex;
a->next=p=>next;
free(p);
c語言連結串列刪除出現段錯誤
10樓:東北
1、在進入函式時,如果head==null,則會出現段錯誤,增加限制,如果head==null 就return。
2、struct student 物件一定要把成員next初始化為null。
3、連結串列struct student的每個成員要麼是全域性變數,要麼是動態分配空間的,不能是函式內的區域性變數。
3、不知道你p1的空間有沒有釋放掉,不然會造成記憶體洩漏
c語言的連結串列刪除問題
11樓:匿名使用者
你的while的大括號搞錯地方了
struct student *deletelinklist(struct student *head,int num)
while((num!=p->stunum)&&(null!=p->next))去掉這個
if(num==p->stunum)
else
printf("can not find!\n");
}//放到這裡來
return head;}
c語言連結串列的刪除問題
12樓:匿名使用者
struct student *delete(struct student *head,int num)
C語言連結串列
include include struct chain struct chain create return head struct chain inlink struct chain head,int a,int b int a代表要插入的節點,int b代表建立節點的資料域 if head v...
c語言連結串列建立和輸入,C語言連結串列建立和輸入
include link.h 實現類似於strlen struct string linkinfo bl stringlen blstring link char p block pnode null if null link 連結串列為空 if null link head else 當while...
用C語言求解 刪除字串的字元,用C語言求解 刪除乙個字串的乙個字元
int n maxstring 字串最大長度char n strsrc 原始串char n 1 strdes 目標串char delchar c int i 0 int j 0 for i 0 i n i 上面幾條語句就實現了你的要求。要輸出的話那簡單。int i 0 for i 0 i n 1 i...