单链表核心操作代码

2024-09-07 03:20
文章标签 代码 操作 核心 单链

本文主要是介绍单链表核心操作代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

头插法建立单链表

代码:

void createListByHead(LinkList &L,int n){LNode *s;//移动指针s int x;//要插入的元素 L = (LinkList)malloc(sizeof(LNode));//创建头结点 L->next=NULL;//初始化头结点 for(int i=0;i<n;i++){scanf("&d",&x);//输入要插入的值 s=(LNode*)malloc(sizeof(LNode));//创建要插入的节点 s->data=x;//将要插入的值,赋给插入的节点 //头插法插入 s->next=L-next;L->next=s;}
}

尾插法建立单链表

代码:

void createListByTail(LinkList &L,int n){LNode *s,*r=L;//移动指针s和表尾指针r int x;//要插入的元素 L = (LinkList)malloc(sizeof(LNode));//创建头结点 for(int i=0;i<n;i++){scanf("%d",&x);s=(LNode*)malloc(sizeof(LNode));//创建要插入的节点 s->data=x;//将要插入的值,赋给插入的节点 //尾插法插入r->next=s;r=s;}r->next=NULL;//最后尾指针置空 
} 

按序号插找节点

代码:

LNode* getElemBypos(LinkList L ,int i){if(i==0) return L;//i为0,返回头结点 if(i<0) return NULL;//i小于0,返回空 int count =1;//计数,从1开始 LNode* p=L->next;//指向第一个节点 while(p!=NULL&&count<i){//遍历链表 p=p->next;count ++;} return p;//返回找到的节点 
} 

按值查找节点

代码:

LNode* locateElemByvalue(LinkLinst L,ElemType e){LNode* p=L->next;//指向第一个元素 while(p!=NULL&&p->data!=e){//遍历链表 p=p->next;} return p;//返回找到的节点 
} 

求有头节点的单链表长度

代码:

int length(LinkList L){int len=0;LNode* p=L->next;while(p!=NULL){len++;p=p->next;}return len;
} 

将值为x的节点插入到单链表的第i个位置

代码:

bool InsertNode(LinkList L,int i,ElemType x){LNode* p;int count=0p=L;while(p!=NULL && count<i-1){//找到第i-1个值 p=p->next;count++;}if(p==NULL) return false;//i值不合法 LNode* s=(LNode*)malloc(sizeof(LNode));s->data=x;x->next=p->next;p->next=s;return true;} 

将单链表的第i个位置上的节点删除

代码:

bool deleteNode(LinkList &L,int i,ElemType e){LNode* p=L;int count=0;while(p != NULL && count<i-1){//找到第i个值 p=p->next;count++;}if(p==NULL || p->next==NULL){//i值不合法 return false;}LNode* s=p->next;//临时指针,指向要删除的节点 e=s->data;p->next=s->next;//将要删除的取下来 free(s);//释放空间 return true;
} 

这篇关于单链表核心操作代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143910

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav