单链表的基本操作

python实现单链表的基本操作 一、单链表 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) +指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。它的每个节点包含两个域,一... 阅读详情
在这里插入代码片
#include "stdio.h"
#include "malloc.h"
typedef struct node{
	int data;
	struct node *next;
}link;
//返回类型是链表 
link *init(link *l){
	l=(link *)malloc(sizeof(link));
	l->next=NULL;
	return l;
}
//前插法输入数据 
void creat(link *l,int n){
	link *p;
	p=l;
	int i,a;
	printf("输入5个元素:\n");
	for(i=0;i<n;i++){
		scanf("%d",&a);
		p=(link *)malloc(sizeof(link));
		p->data=a;
		p->next=l->next;
		l->next=p;
	}
}
//后插法输入数据 
void after(link *l,int n){
	link *p;
	p=l;
	int i,a;
	printf("输入5个元素:\n");
	for(i=0;i<n;i++){
		scanf("%d",&a);
		p=(link *)malloc(sizeof(link));
		p->data=a;
		p->next=l->next;
		l->next=p;
		l=p;
	}
}
//输出数据 
void display(link *l){
	while(l->next!=NULL){
		printf("%d\t",l->next->data);
		l=l->next;
	}
}

//在指定位置插入数据 
void insert(link *l,int n,int x){
	link *p,*s;
	int i;
	p=l;
	for(i=0;i<n;i++){
		p=p->next;//寻找指定位置 
	}
	s=(link *)malloc(sizeof(link));
	s->data=x;
	s->next=p->next;//插入数据 
	p->next=s;
}

//删除指定位置数据 
void dele(link *l,int n){
	link *p;
	int i;
	p=l;
	for(i=0;i<n;i++){
		p=p->next;//寻找指定位置 
	}
	p->next=p->next->next;//删除数据 
}
int main(){
	link *l,*m;
	m=init(m);
	/*printf("前插:\n");
	creat(m,5);
	printf("输出:\n");
	display(m);
	printf("\n");*/
	printf("后插:\n");
	after(m,5);
	printf("输出:\n");
	display(m);
	printf("\n");
	insert(m,2,100);//将100插入第2个位置 
	printf("输出:\n");
	display(m);
	printf("\n");
	dele(m,4);//删除第4个位置的元素 
	printf("输出:\n");
	display(m);
	printf("\n");
	return 0;
}

链表里面l->next=NULL表示带头结点;l=NULL表示不带头结点;带头节点的链表在处理数据时更加容易。
链表只能顺序存取,因此在查找数据时速度较慢,插入、删除数据时速度较快。

单链表基本操作详解 #  单链表基本操作 文中提到的内容的链接一并列在这里: 顺序表:http://blog.youkuaiyun.com/bitboss/article/details/51559175 冒泡排序:http://blog.youkuaiyun.com/bitboss/article/details/51559034 选择排序:http://blog.youkuaiyun.com/bitboss/ 阅读详情

相关推荐

【头歌】单链表的基本操作

由于单链表中每个结点的存储地址是存放在其前趋结点的指针域中的,而第一个结点无前趋,头指针L指向第一个结点,对于整个单链表的读取必须从头指针开始,同时,由于单链表中最后一个结点的指针域为“空”(NULL),没有直接后继元素,对于整个单链表的读取必须在尾结点结束。要在带头结点的单链表L中删除第i个结点,则同样要先找到第i-1个结点,使p指向第i-1个结点,使q指向第i个结点,然后令第i-1个结点的指针域指向第i+1个结点,而后删除q指向的第i个结点并释放结点空间。= NULL时,才能进行删除结点的操作。

qq_39977056的博客 1万+

C语言实现单链表的基本操作

王道c语言版数据结构--实现单链表的基本操作

weixin_46625488的博客 9705

Ubuntu20.04安全重启后WiFi图标消失?MT7922网卡驱动修复全攻略

本文详细解析了Ubuntu20.04安全重启后WiFi图标消失的问题,特别是针对MT7922网卡驱动失效的情况。通过诊断命令和分步解决方案,包括禁用PCIe ASPM、更新无线固件和升级HWE内核,帮助用户快速恢复网络连接。文章还提供了进阶排查技巧和系统优化建议,确保WiFi稳定运行。

weixin_29202687的博客 370

数据结构实验二——单链表的基本操作

单链表的基本操作一、实验内容二、基本要求三、支撑的课程目标四、实验过程 一、实验内容 编程实现单链表的基本操作:建立单链表,查找单链表,插入单链表,删除单链表; 采用单链表结构编程实现:两个有序单链表的归并运算。 二、基本要求 掌握线性表的链式存储结构; 掌握单链表及其基本操作的实现。 三、支撑的课程目标 本实验项目可以支撑“目标1. 理解数据结构的基本概念、计算机内部数据对象的表示和特性。掌握线性表、树、图等数据逻辑结构、存储结构及其差异以及各种操作的实现。 本实验通过验证方式引导学

weiyuexin的博客 4819

2023年全国赛C题《 电容电感测量装置》设计报告

参考下面网站的方案参考LCR测试仪,基本工作原理为给DUT加上正弦激励信号,然后测得该DUT两端的电压和流过DUT的电流,即可通过计算得到DUT的性质和参数。对于一个理想电容,电流相位应该超前电容两端电压90°。然而实际的电容存在损耗,可以等效为一个理想电容Cp​和一个理想电阻Rp​的并联,因此电流超前电压的相位将小于90°,这个角度差即为损耗角。假设DUT两端电压V˙Vcosωt,流过DUT的电流为I˙Isinωt−φ。

moerjie的博客 4811

用matlab编程求矩阵的极大无关组,向量组极大无关组表示问题

已知向量组T:Eqn11.gif (3.16 KB, 下载次数: 1)2013-10-21 19:19 上传.(1) 求向量组T的秩,并判断向量组T的相关性;(2) 求T的极大线性无关组;(3) 将其余的向量用所求的极大线性无关组线性表示。程序:>> A=[1 1 3 2;-1 1 -1 3;5-2 8 9;-1 3 1 7]>> r=rank(A)>> A1=...

weixin_35094083的博客 7387

【数据结构】C语言实现单链表的基本操作

【数据结构】第二章——线性表(6) 详细介绍了通过C语言实现单链表的基本操作……

蒙奇D索大的博客 2664

GD32单片机引脚复用指南:如何让JTAG接口的PA15/PB3发挥第二功能?

本文详细介绍了GD32F103Cx系列单片机如何通过AFIO模块进行引脚复用,特别是将默认用于JTAG调试接口的PA15、PB3等引脚释放为普通IO或复用功能引脚。文章从原理出发,结合代码实践,讲解了如何配置调试端口重映射,将JTAG引脚安全地转换为GPIO或定时器通道,并提供了常见问题排查与最佳实践,帮助开发者高效利用有限的引脚资源。

nept的博客 809

单链表的基本操作以及头插法和尾插法建立单链表

本文主要关于单链表的基本操作,创建单链表,插入节点,删除节点,查找结点,清空节点,销毁节点,以及使用头插法和尾插法建立单链表

2201_75919511的博客 1376

SenseVoice 实测,阿里开源语音大模型,识别效果和效率优于 Whisper,居然还能检测掌声、笑声!5分钟带你部署体验

阿里开源语音大模型:语音识别效果和性能强于 Whisper,还能检测掌声、笑声、咳嗽等

u010522887的专栏 4万+

诊断CAPL自动化(3)——封装了接收诊断数据的通用CAPL脚本函数库

DiagGetRespPrimitiveSize (获取诊断响应的单个数据) diagGetPrimitiveData (获取诊断返回的所有数据) DiagGetRespParameter(数值类型) DiagGetRespParameter(字符串类型) DiagGetRespParameter(byte数组)

蚂蚁小兵 6221

数据结构之单链表的基本操作

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef int ElemType; //单链表的结构 typedef struct LNode{ ElemType data; //结点的数据 struct LNode *next;//下一结点的地址,指向下一个结点 }L...

Gloming__zxy的博客 413

建行报专版报道建设银行金融科技发展历程

经过十多年的建设,总行前中后台部门都有了自己的业务系统,但系统“部门”特征显著,渠道、客户、产品的横向整合不足,产品系统层次化、结构化、参数化程度不高,渠道支持产品快速部署以及跨渠道服务能力不足,管理分析类系统建设相对滞后,系统较弱的可扩展能力在应对高速增长的交易量时已疲态尽显,同时安全稳定运行的压力和风险日益积聚。站在新的历史起点上,科技条线将聚焦主责主业,完善信息科技管理体系,紧紧围绕安全生产中心任务,持续推动技术能力复用共享和自主可控,为全行做好金融五篇大文章,推动业务高质量发展提供技术支撑。

银行信息系统应用架构详解 385

【数据结构】 循环单链表的基本操作 (C语言版)

【数据结构】 循环单链表的基本操作 (C语言版)

weixin_56814370的博客 2394

深入浅出AXI协议(2)——通道及信号

本文我们继续AXI协议的学习,我们将讨论5个通道的具体内容和相对应的信号。这一部分的内容现在对于大家来说可能很难理解,但是没有关系,随着学习的深入,我们会逐步讲解这里面的所有现在,现在只需要把它们当作一个可以查阅的手册,快速阅读有一个基本的印象即可。

apple_53311083的博客 1799

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【数据结构】单链表基本操作

单链表基本操作

℉f的博客 2327

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

单链表基本操作

//////////////////////////////////////////// //单链表的初始化,建立,插入,查找,删除。// //Author:Wang Yong // //Date: 2010.8.19 // //////////////////////////////////////////// #include #include typedef int ElemType; //////////////////////////

杨星的博客 8万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 2021-11-14
下一篇: 顺序栈的入栈和出栈
woreaijava
博客等级 码龄7年 1粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值