您的位置:首页 > 其它

C:笔记:链表 可变数组

2015-12-21 00:00 253 查看
链表

每个节点是一个结构,结构包括一个值和一个指针。指针指向另外一个结构。

//定义一个名为struct _node 的结构体,并且typedef命名为为Node,这个结构体里面有一个指向同类型结构的指针。
typedef struct _node{
int value;
struct _node *nest;
} Node;

另外使用链表时,再定义一个指向这个链表的结构:

typedef struct _list {
Node* head;
} List;

在链表中搜索:

int isFound = 0;
for ( p = list.head; p; p = p->nest )
{
if (p->value = number)//number就是要搜索的那个
{
isFound = 1;
break;
}
}

删除:

Node *q;
for (q = NULL, p = list.head; p; q = p, p = p->next)
{
if(p->next == number )
{
if(q)
{
q->next = p->next;
}
else
{
list.head = p->next;
}
free(p);
break;
}
}

malloc出来的东西最后都要free

for  (p = head; p; p = q)
{
q = p->next;
free(p);
}

无论做什么,都要考虑边界情况,保证代码运行安全。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: