数据结构学习——单链表ADT(程序化)
来源:互联网 发布:linux保存文件并退出 编辑:程序博客网 时间:2024/06/07 06:38
看了一点网上的代码,结合自己对链表的理解。将对链表常用的操作集合程序化如下:
#include<stdio.h>#include<stdlib.h>typedef struct Node{ int Val; struct Node *next;}List;List *list_add(List **p,int Val);//此处是二级指针void List_Print(List *p);List *list_insert(List **p,int Val,int i);//i为插入的位置 Val插入的值List *list_remove(List **p,int i);//删除指定位置i的值int main(){ List *n=NULL; list_add(&n,0); list_add(&n,1); list_add(&n,2); list_add(&n,3); list_add(&n,4); list_insert(&n,5,3); list_insert(&n,6,2); list_remove(&n,2); list_remove(&n,3); List_Print(n); return 0;}List *list_remove(List **p,int i)//删除指定位置i的值{ int count=0; List *q,*a; a=*p; if(p==NULL) return NULL; for(count=0;count<(i-2);count++) { a=a->next; if(a==NULL) return NULL; } q=a->next;//后继元 a->next=q->next; return *p;}List *list_insert(List **p,int Val,int i){ int count=0; List *q,*a; a=*p; if(p==NULL) return NULL; for(count=0;count<(i-2);count++) { a=a->next; if(a==NULL) return NULL; } q=a->next;//后继元 List *temp=(List *)malloc(sizeof(List)); temp->next=q; temp->Val=Val; a->next=temp; return *p;}List *list_add(List **p,int Val)//此处是二级指针{ if(p==NULL) return NULL; List *temp=(List *)malloc(sizeof(List)); temp->next=*p; temp->Val=Val; *p=temp; //头指针移动到开始处 *P在此处的作用为头指针 return *p;}void List_Print(List *p){ if(p==NULL) printf("list is empty\n"); while(p) { printf("%d\t",p->Val); p=p->next; }}
0 0
- 数据结构学习——单链表ADT(程序化)
- 数据结构学习——二叉查找树ADT(程序化)
- 数据结构学习——二叉堆ADT(程序化)
- 数据结构学习——散列表ADT(程序化)
- 数据结构学习——栈的链表实现(程序化)
- 数据结构—图ADT的实现
- 数据结构C语言实现——ADT Triplet
- C++面向对象程序化设计(谭浩强)阅读笔记——回顾1
- 程序化
- 程序化的设计模式学习
- 把爱情程序化——给女程序员的情书
- 程序化交易资料总结——Automa…
- 中线交易——股票程序化交易模型鉴赏
- python数据结构学习笔记-2016-10-27-02-使用单链表实现包ADT
- 数据结构(二)之栈ADT
- 数据结构(三)之队列ADT
- 程序化点击率预估(CTR)
- python数据结构学习笔记-2016-10-15-01-矩阵ADT
- 个人关于java与指针的理解
- getParameter 与 getAttribute的区别
- Yii2 在view里加css
- K2工作流学习系列(三)--- K2介绍
- 分页查询的那些坑和各种技巧
- 数据结构学习——单链表ADT(程序化)
- 求三个长方体的体积
- Launch into space
- 【javascript笔记】关于javascript中的闭包<五>
- javascript公共变量
- 开始写博客了
- c++ 虚函数
- 完整java开发中JDBC连接数据库代码和步骤
- libxml2移植到OK6410 ARM开发板上...