【数据结构】单链表
2015-01-18 21:38
190 查看
#include <stdio.h> #include <stdlib.h> #include <STRING.H> typedef struct LinkNode { int date; //数据域 struct LinkNode * next; }linkNode; typedef struct Linklist { int length; linkNode *head; }linklist; linklist *Creatlist() { linklist *list; list=(linklist *)malloc(sizeof(linklist)); memset(list,0,sizeof(linklist)); list->length=0; list->head=(linkNode*)malloc(sizeof(linkNode)); list->head->next=NULL; return list; } int insertlist(linklist *s,linkNode item) { linkNode *n; if(s==NULL) return 0; n=(linkNode*)malloc(sizeof(linkNode)); n->date=item.date; n->next=s->head->next; //头插法 s->head->next=n; s->length++; return 1; } int dellist(linklist *s,int pos) { int i=0; linkNode *p=s->head->next; linkNode *pa=s->head; if(s==NULL) return 0; while(i!=pos) { pa=p; p=p->next; } pa->next=p->next; free(p); s->length--; return 1; } void display(linklist *s) { int i=0; linkNode *p=s->head->next; while(i<s->length) { printf("%d ",p->date); p=p->next; i++; } printf("\n"); } int main() { linklist *list=NULL; int i; list=Creatlist(); for(i=0;i<10;i++) { linkNode n; n.date=i; insertlist(list,n); } display(list); for(i=0;i<10;i++) { dellist(list,0); display(list); } return 0; } <img src="http://img.blog.csdn.net/20150118213800491?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTc4MTU1ODA2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> <span style="white-space:pre"> </span>
相关文章推荐
- 成人版java数据结构之单链表I建立和遍历
- java数据结构之单链表
- 数据结构(殷人琨版)学习笔记之单链表
- 二、数据结构基础之单链表C语言实现
- 数据结构基础系列——单链表的实现
- 数据结构-单链表的实现
- 【学习点滴-数据结构-单链表】单链表的就地逆置
- 数据结构之单链表
- 常用数据结构1——单链表(单链表的创建、)
- 数据结构:单链表的实现与Joseph环
- 数据结构实现单链表
- 数据结构之单链表反转
- 数据结构——单链表的基本操作
- 数据结构之单链表
- 数据结构——单链表的操作
- 成人版java数据结构之单链表II删除
- 数据结构之单链表
- 数据结构之单链表
- 数据结构之单链表(C++实现)
- 【学习点滴-数据结构-单链表】单链表的建立,遍历及有序单链表合并