单链表的操作
来源:互联网 发布:南方大数据100指数评论 编辑:程序博客网 时间:2024/06/02 01:40
#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef int ElemType; //定义数据类型typedef struct node{ ElemType data; //数据域 struct node * next; //指针域}slink; //单链表类型名slink *creslink(int n) //创建带头结点的单链表{ slink *head,*p,*s;//创建头结点 int i; p=head=(slink *)malloc(sizeof (slink)); for(i=1;i<=n;i++) { s=(slink *)malloc(sizeof(slink));//申请空间 scanf("%d",&s->data); p->next=s; p=s; } p->next=NULL; //尾结点的指针一定要置空 return head;}int getlen(slink *head) //获取表长{ slink * p; int n=0; p=head->next; while(p!=NULL) { n++; p=p->next; } return n;}int getelem(slink *head,int i,ElemType * e)//取元素操作{ slink *p; int j; if(i<1) //参数1,不合法,返回0 return 0; p=head->next; j=1; while(p!=NULL&&j<i) //从第1个头结点开始查找 { p=p->next; j++; } if(p==NULL) return 0; * e=p->data; return 1;}slink * locate(slink * head,ElemType x) //定位操作{ int i; slink *p; p=head->next; i=1; while(p!=NULL&&p->data!=x) { p=p->next; i++; } return p;}int delete(slink * head,int x) //删除操作{ slink *p,*q; p=head; while(p->next!=NULL&&x!=p->next->data) { p=p->next; } if(p->next==NULL) return 0; q=p->next; //q指向第i个结点 p->next=q->next; //p的指针与指向结点q指向结点的下一个结点,删除第i个结点 free(q); return 1;}int insert(slink * head,int i,ElemType x){ slink *p,*q; int j; if(i<1) return 0; p=head; j=0; while(p!=NULL&&j<i-1) { p=p->next; j++; } if(p==NULL) return 0; q=(slink *)malloc(sizeof(slink)); q->data=x; q->next=p->next; p->next=q; return 1;}void Print(slink *head) //打印单链表{ slink *p; p=head->next; while(p!=NULL) { printf("%4d",p->data); p=p->next; } printf("\n");}int main(){ slink *head; ElemType *e; head=creslink(10); Print(head); delete(head,4); Print(head); return 0;}
2 0
- 简单的单链表操作
- 单链表的基本操作
- 简单的单链表操作
- 单链表的基本操作
- 单链表的操作(C#)
- 单链表的操作
- 单链表的各种操作
- 单链表的操作实现
- 单链表的 操作
- 单链表的基本操作
- 单链表的一些操作
- 单链表的操作
- 关于单链表的操作
- 单链表的各种操作
- 单链表的常用操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的操作
- ajax
- 毕业季的男生,哭吧哭吧不是罪
- LIstView自定义布局
- Python-continue的使用和if的位置
- 单例模式(Singleton)
- 单链表的操作
- 关于png、jpg、gif切图时的使用感悟
- 手机安全卫士第九天
- ecshop 首页显示每个分类的产品列表
- 《Linux驱动》动态申请字符设备号
- Android应用程序权限清单
- 《Python核心编程》第7章 习题
- Camera Perspective/orthographic
- web前端小知识