第一個方式一運行就崩潰 搞得我崩潰
第二個是我玄學操作搞對了
能有大神給幫我解答一下么跪求了
這是pta
6-2 洗掉單鏈表偶數節點 (15分)題目
struct ListNode *createlist()
{
struct ListNode *head,*p,*q;int m;
head=NULL;
p=q=(struct ListNode *)malloc(sizeof(struct ListNode *));
while(scanf("%d",&m)&&m!=-1)
{
p->data=https://bbs.csdn.net/topics/m;
if(head==NULL)head=p;
else q->next=p;
q=p;
p=(struct ListNode *)malloc(sizeof(struct ListNode *));
}
p=NULL;
return head;
}
struct ListNode *createlist()
{
struct ListNode *head,*p,*q;int m,oo;
head=NULL;
while(scanf("%d",&m)&&m!=-1)
{
p=(struct ListNode *)malloc(sizeof(struct ListNode *));
p->data=https://bbs.csdn.net/topics/m;
if(head==NULL)head=p;
else q->next=p;
q=p;
}
p->next=NULL;
return head;
}
完整的代碼
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int data;
struct ListNode *next;
};
struct ListNode *createlist();
struct ListNode *deleteeven( struct ListNode *head );
void printlist( struct ListNode *head )
{
struct ListNode *p = head;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main()
{
struct ListNode *head;
head = createlist();
head = deleteeven(head);
printlist(head);
return 0;
}
typedef struct ListNode *List;
struct ListNode *createlist()
{
struct ListNode *head,*p,*q;int m;
head=NULL;
p=q=(struct ListNode *)malloc(sizeof(struct ListNode *));
while(scanf("%d",&m)&&m!=-1)
{
p->data=https://bbs.csdn.net/topics/m;
if(head==NULL)head=p;
else q->next=p;
q=p;
p=(struct ListNode *)malloc(sizeof(struct ListNode *));
}
p=NULL;
return head;
}
struct ListNode *deleteeven( struct ListNode *head )
{
struct ListNode *p,*q;
p=head;
while(head && head->data%2==0){
p = head;
head = head->next;
free(p);
}
p=head;
while(p&&p->next)
{
while(p->next&&p->next->data%2==0)
{
q=p->next;
p->next=q->next;
}
p=p->next;
}
return head;
}
uj5u.com熱心網友回復:
p=q=(struct ListNode *)malloc(sizeof(struct ListNode *));記憶體分配有問題,p=q=(struct ListNode *)malloc(sizeof(struct ListNode ));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12519.html
上一篇:1.撰寫一個程式,實作順序表的各種基本運算,在此基礎上完成如下功能: (1)初始化順序表L。 (2)依次在順序表L中插入元素a、b、c、e。 (3)輸出順序表L
下一篇:windows編程視窗id
