链表的初始化与使用

// 请在Begin-End之间添加你的代码,
//实现顺序表的如下基本运算,假设顺序表的元素类型为char//
//(1)初始化单链表h//
//(2)依次采用尾插法插入元素:a,b,c,d,e//
//(3)输出单链表h//
//(4)输出单链表h的长度//
//(5)判断单链表h是否为空,输出判断结果//
//(6)输出单链表h的第n个元素,n由用户输入//
//(7)输出元素a的位置//
//(8)在第m个元素位置上插入f元素,m由用户输入//
//(9)输出单链表h//
//(10)删除单链表h的第n个元素,延用第(6)的n//
//(11)输出单链表h//
//(12)释放单链表h//

#include<iostream>
using namespace std;
#define MAXSIZE 10;
typedef char ElemType;

typedef struct LNode 
{
	ElemType data;
	struct LNode* next;		
	//这里不是结构体嵌套LNode结构体里嵌套了个struct LNode,这样是死循环的,
	//这里是结构体指针,因为要指向的下一个数据类型是LNode这个结构体,所以就要用结构体指针
	//在C语言中,定义指针时,指针前的数据类型用来指定指针所指向的数据类型。
	// 这个数据类型告诉编译器在解引用指针时应该如何解释指针所指向的内存空间。
	//这里的LinkNode和LNode是一个结构体,虽然一样,但是也不能定义成一个东西,反正就是不能写成一样的
}LinkNode;

//typedef struct LNode LinkNode;上面的一布其实是两步正常使用LNode要struct LNode缺一不可,但是现在可以用LinkNode表示

void InitLinkNode(LinkNode* &phead)		//初始化链表
{
	phead = (LinkNode*)malloc(sizeof(LinkNode));
	phead->next = NULL;
}

void CreatLinkNode(LinkNode*& phead, ElemType a[], int n)	//头插法
{
	LinkNode* s;		//要插入的数据
	for (int i = 0; i < n; i++)
	{
		s = (LinkNode*)mal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值