数据结构笔记--线性表-顺序表01(存储)

本文详细介绍了顺序表的静态存储(定义了Maxsize限制)和动态存储(通过malloc管理内存)两种实现方式,包括初始化、扩容操作和main函数示例。重点在于内存分配与管理的差异。

线性表的两种存储方式

#include <stdio.h>
#define Maxsize 10
//顺序表的实现--静态分配
typedef struct{
	int data[Maxsize];
	int length;
}sqlist;
//基本操作,初始化一个顺序表
 void InitList (sqlist &L){
 	for(int i=0;i<Maxsize;i++)
 		L.data[i]=0;
 	    L.length =0;
 }
 int main(){
 	sqlist L;
 	InitList(L);
 	return 0;
 }
#include <stdlib.h>
#define InitSize 10

//动态分配
typedef struct{
	int *data;
	int length;
	int Maxsize;
}seqlist;

void InitList (seqlist &L){
	L.data = (int *)malloc(sizeof(int)*InitSize);
	L.length =0;
	L.Maxisze =InitSize;
}
void IncreaseSize(Seqlist &L,int len){
	int *p =L.data;
	L.data =(int *)malloc(sizeof(int)*(L.Maxsize+len));
    for(int i=0;i<L.length;i++)
    	L.data[i]=p[i];//将数据复制到新区域
    L.Maxisze=L.Maxsize+len;//顺序表的最大长度增加len
    free(p);释放原来的内存空间
}
int main(){
	seqlist L;
	InitList(L);
	IncreaseSize(L,10);
	return 0;
}
【源码免费下载链接】:https://renmaiwang.cn/s/38gy7 从技术角度而言,MQTT(Message Queuing Telemetry Transport)作为一种轻量级的消息传输协议,在信息技术领域具有重要地位。它被广泛应用于物联网(IoT)设备之间实现信息传递中,起到关键作用。该协议采用发布-订阅模式,确保各参与方能够快速、准确地交换数据信息。基于这一特点,Apache基金会提供的一个开源的消息路由组件——ActiveMQ,成为许多系统的核心选择。为了满足开发需求,我们推荐使用`mqttjs`库,它为JavaScript语言提供了MQTT客户端的实现,并支持与ActiveMQ服务器之间的交互测试。该库采用轻量化设计,在Web应用和Node.js平台中都能良好运行。安装过程简便快捷,只需在Node.js命令行环境中执行以下操作:```bashnpm install mqtt```随后,通过编写如下的JavaScript代码片段,即可建立一个基本的 MQTT客户端连接到ActiveMQ服务器:const mqtt = require(mqtt);const client = mqtt.connect('mqtt://your.active.mq.server:1883');client.on(connect, (res) => { console.log('已成功与ActiveMQ服务器建立连接')});// 发布消息client.publish('test/topic', 'Hello, MQTT World!');// 订阅主题client.subscribe('test/topic');// 设置接收到的消息回调函数,打印相关信息console.log(...);// 关闭连接操作完成时的回调函数通过这种方式,我们能够模拟多个客户端的行为模式,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值