读书人

基本送分的!该怎么处理

发布时间: 2012-02-27 10:00:22 作者: rapoo

基本送分的!
typedef struct Node{
DataType data;
struct Node *next;
}ListNode,*LinkList;

初始化我能想到要传递指针的指针才能修改头接点的内容
void InitList(LinkList *head)
{
if((*head=(LinkList)malloc(sizeof(ListNode)))==NULL)
exet(0);
(*head)->next=NULL;

}
插入操作
int InsertList(LinkList head,int i,DataType e)
{
ListNode *p,*pre;
int j;
pre=head;
j=0;
while(pre->next!=NULL&&j<i=1)
{
pre=pre->next;
j++;
}
if(!pre)
{
printf("插入地方不对(大家不要胡思乱想啊)");
return 0;
}
if((p=(ListNode*)malloc(sizeof(ListNode)))==NULL)
exet(0);
p->data=e;
p->next=pre->next;
pre->next=p;
return 1;
}
请问插入操作为什么不传递指针的指针呢?不也是需要改变原来的内容吗?删除操作同样为什么不传递指针的指针?
求大家帮忙分析分析@小弟感激不尽!

[解决办法]
这要看你是什么思想了,指针的指针,指针都可以的
[解决办法]
谢谢给分。
我从来都是,是哦回帖不看帖
[解决办法]

C/C++ code
void InitList(LinkList *head){if((*head=(LinkList)malloc(sizeof(ListNode)))==NULL)exet(0);(*head)->next=NULL;}
[解决办法]
为什么要传指针的指针呢?你并不修改头指针里面保存的地址,你只需要malloc一个节点,然后将这个节点的地址赋值给尾节点里面的next指针就可以了,在这个过程中你并不修改什么东西
[解决办法]
还有指针用的是'->',具体对象是用'.'的
[解决办法]
插入的时候不需要修改head这个结构体指针,只是修改了head指向的结构体的next字段。所以不需要指针。
[解决办法]
只为学习,不为接分。
[解决办法]
探讨
引用:
刚改了个链表,楼主可以看看:
http://topic.csdn.net/u/20100426/21/892f7511-a526-4073-b4a1-7bab8b88fa2a.html?50830


只是代码,没有我想要知道的内容啊,不过还是非常感谢你!我都见过你好多次回答我的问题了!

读书人网 >C语言

热点推荐