添加头文件
声明宏定义
设计数据结构
功能函数声明
具体功能实现
简单调用测试
int main()
{
List* list = creat_list();
for(int i=0; i<10; i++)
{
tail_add_list(list,i); // 尾添加
head_add_list(list,i); // 头添加
}
show_list(list);
delete_index_list(list,9);
show_list(list);
delete_index_list(list,0);
show_list(list);
insert_list(list,5,100);
show_list(list);
sort_list(list);
show_list(list);
for(int i=0; i<5; i++)
{
head_del_list(list);
}
show_list(list);
}
结果
总结
创建:一个空间,两个置空
销毁:先删完,再释放
头添加:创建节点,分长度分析
尾添加:创建节点,分长度分析
头删除:分长度分析,设置中转结点,置空头结点,若长度为1,置空尾节点,释放中转
尾删除:分长度分析,找最后一个节点的前一节点,释放旧的尾巴,赋上新的尾巴,置空中转
注意:删减注意长度变化
插入:检查下标,分长度分析,找插入节点的前一节点,设置结点插入
位置删除:判断下标合法,分头尾删除,找插入节点的前一节点,设置下标结点,改变结点,释放
值删除:分头删除和后段删除进行分析
排序:基础排序方式都可以,没有特殊要求
遍历:循环打印