#数据结构:编写不带头结点单链表的建立、插入和删除算法

编写不带头结点单链表的建立、插入和删除操作算法。

一、问题描述

编写一个不带头节点的单链表

二、基本要求

1) 建立

2) 插入

3) 删除

三、算法思想

选用不带头结点的单链表,在第一个元素节点前插入节点时头指针的值将改变为指针s的值,在非第一个元素结点的其他结点前插入结点时,改变的是指针->next的值。

删除不带头结点的单链表的第一个元素结点时头指针的值将改变为头指针->next;删除其他节点是,头指针的值不会改变,改变的是指针->next的值。

四、数据结构

typedef struct LNode{

    ElemType data;

    struct LNode* next;

}LNode,*LinkList;

五、模块划分

(1) typedef struct LNode定义结构体并重命名

(2) LNode* GetElem(LinkList &L,int i)建立单链表并初始化

(3) bool InsertNextNode(LNode* p,ElemType e)

(4) bool ListInsert(LinkList &L,int i,ElemType e) 在单链表的第i个元素插入元素e

(5) bool ListDelete(LinkList &L,int i,ElemType &e) 在单链表的第i个元素删除元素e

(6) bool Empty(LinkList L)判断单链表是否为空

(7) int main()主函数,实现多个函数的调用并实现功能

六、源程序

#include<stdio.h>

#include<stdlib.h>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值