本篇文章主要介绍了"单链表的插入和删除",主要涉及到插入,删除方面的内容,对于IOS开发感兴趣的同学可以参考一下:
常见的数据结构只有两种: 1、数组 2、链表 数组中的元素是连续存储的,而链表的元素则可以不连续,只需要有指针指向下一个元素即可。因此链表适...
常见的数据结构只有两种:
1、数组
2、链表
数组中的元素是连续存储的,而链表的元素则可以不连续,只需要有指针指向下一个元素即可。因此链表适合存储插入删除比较频繁的一组数据。另外链表的存储空间是动态的,不必预先分配指定的空间大小。。下面介绍链表的几种常见操作。
首先先定义一个链表
struct linklist {
int data;
structlinklist *next;
};
typedeflinklist *linklistp;
然后定义两个函数:
/**
头结点插入
*/
linklistp insert_head(linklistp head,linklistp newnode){
newnode->next = head;
head = newnode;
return head;
}
/**
尾结点插入
*/
linklistp insert_tail(linklistp head,linklistp newnode){
if(head ==
NULL){
head = newnode;
return head;
}