单链表的插入、删除、遍历操作
来源:互联网 发布:东莞广电网络 编辑:程序博客网 时间:2024/06/05 15:41
自己写的简单的单链表的创建,插入,删除,遍历操作
#include<stdio.h>
struct list
{
int data;
struct list *next;
};
//遍历链表
void show(struct list *li)
{
while(li)
{
printf("%d ",li->data);
li=li->next;
}
printf("\n");
}
//创建链表 尾插法
struct list *creat(struct list *li, int n)
{
li=(struct list *)malloc(sizeof(struct list));
struct list *head,*p;
int i;
scanf("%d",&(li->data));
head=li;
for(i=1;i<n;i++)
{
p=(struct list *)malloc(sizeof(struct list));
scanf("%d",&(p->data));
li->next=p;
li=p;
}
li->next=NULL;
return head;
}
//删除链表元素
struct list *delet(struct list *li, int n)
{
struct list *p,*p1;
if(n==1)
{
p=li->next;
free(li);
}
else
{
p=li;
int i;
for(i=1;i<n-1;i++)
{
li=li->next;
}
p1=p->next;
p->next=p1->next;
free(p1);
}
return p;
}
//向链表插入元素
struct list *insert(struct list *li, int n)
{
struct list *p=(struct list *)malloc(sizeof(struct list));
scanf("%d",&(p->data));
struct list *p1;
if(n==1)
{
p->next=li;
p1=p;
}
else
{
p1=li;
int i;
for(i=1;i<n-1;i++)
{
li=li->next;
}
p->next=li->next;
li->next=p;
}
return p1;
}
int main()
{
struct list *li;
struct list *L=creat(li,5);
show(L);
struct list *L1=delet(L,1);
show(L1);
struct list *L2=insert(L1,1);
show(L2);
return 0;
}
- 单链表的插入、删除、遍历操作
- C++单链表的操作(创建,删除,打印,遍历,插入)
- 单链表的遍历、插入、删除
- 单链表建立,插入,删除,查找,遍历操作
- 单链表建立,插入,删除,查找,遍历操作
- 单链表建立,插入,删除,查找,遍历操作!!!!
- 数据结构——单链表的创建、删除、遍历以及节点的插入、删除等操作
- 单链表操作,创建,遍历,插入,删除,排序等操作
- 单链表的建立、插入、删除、遍历
- 顺序表的建立、插入、删除、查找、遍历操作
- 二叉树的查找,插入,删除,遍历,最小值,最大值 操作
- 二叉排序树的相关操作(插入,查找,删除,遍历等)
- LinkedList 的简单操作 :插入 删除 正序、逆序遍历
- 顺序表的创建、遍历、插入、删除等操作demo
- 二叉搜索树的插入,删除,遍历操作详解
- 单链表创建-遍历-排序-插入-删除-逆序操作
- c++实现单链表创建,删除,遍历,插入,修改操作
- C++ 单链表的建立,插入数值,删除数值,排序,遍历,和分割操作
- 跳表(Skip List)的介绍以及查找插入删除等操作
- Docker新手安装笔记
- Linux的inode的理解
- Qt 简介
- eclipse下软件测试合集,findbugs,PMD,Sourcemonitor,Junit的安装和使用详细图文
- 单链表的插入、删除、遍历操作
- 获取释放DC(设备上下文)
- HDU 2851 Lode Runner(简单DP)
- SDUT 3305 质数中的质数 (素数筛)
- 单链表(c++带头结点,)
- android 判断手机中是否有SD卡,USB。静态判断
- OSPF相关概念
- 黑马程序员-----Java基础-----反射
- linux 下结合find 和 rm 删除大量文件