王道数据结构 C++/C实现单链表(带头结点)的建立,删除,查找(可直接运行)

王道数据结构 -----C++/C实现单链表(带头结点)的建立,删除,查找(可直接运行)

#include<bits/stdc++.h>
#include <stdlib.h>
#include <stdio.h>
typedef int ElemType;
typedef struct LNode{
   
	ElemType data;
	struct LNode *next; 
}LNode, *LinkList; 
//typedef struct LNode LNode等价于struct LNode = LNode (LNode* 强调返回的是结点 )。
//typedef struct LNode* *LinkList等价于struct LNode* = LinkList (LinkList* 强调返回的是结点 )
//初始化一个单链表 
bool InitList(LinkList &L){
   
	L = (LNode*)malloc(sizeof(LNode));//L作为头结点指向分配空间的第一个节点 
	if(L == NULL) return false; //分配失败 
	L-> next = NULL; //头结点之后设为空 
	return true;
} 
///带头结点/ 

//查找第i-1个节点
LNode * Find_i_1(LinkList L, ElemType i){
   
	if(i<1) return false;
	LNode *p;//指针p指向当前扫描的结点 
	int j=0;//j表示p当前指向的结点 
	p=L; //L指向头指针,头指针是第0个节点,不存数据 
	while(p!=NULL &&j<i-1){
    //循环找到第i-1个结点 
		p=p->next;
		j++; 
	}
	return p; //返回找到的第 i-1个结点 
} 
//****************** ************************  插入  ******************

//指定结点后插操作:给一个结点p,在之后插入元素e 
bool InsertNextNode(LNode *p, ElemType e){
   
	if(p == NULL) return false;
	LNode *s =(LNode *) malloc(sizeof(LNode)); //申请一个节点 
	if(s == NULL) return false;
	s->data = e;   //将插入元素的值给新节点 
	s->next = p->next
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值