c++实现动态线性表

这篇博客介绍了一个C++程序,用于动态创建和扩展线性表。程序首先初始化一个长度为66的线性表,用[2, 100]区间内的随机数填充。然后,根据用户输入的长度,程序会增加线性表的长度,并用[100, 150]区间内的随机数填充新增部分。这个过程展示了动态内存管理和数据结构的操作。
摘要由CSDN通过智能技术生成

#include<#iostream>//不知道为什么不加#后面显示不了,事实上正确的代码在<>里面是没有#的

using namespace::std;
const int MAXSIZE = 100;
typedef struct {
int* data;
int maxSIZE;
int length;
}L;//线性表中每一个元素的组成成分
void increaseLinearList(L & linearList, int len);
void initList(L& linearList);
void showList(L& linearList);
int main() {//动态创建线性表
L linearList;
initList(linearList);
printf(“打印线性表的数据项:\n”);
showList(linearList);
printf("\n增加线性表的长度!!!\n");
int length;
printf("\n输入线性表所增加的长度!!!\n");
scanf_s("%d",&length);
increaseLinearList(linearList, length);
printf(“打印线性表的数据项:\n”);
showList(linearList);
return 0;
}
void increaseLinearList(L& linearList, int len) {
int* head = linearList.data;
linearList.data = new int[MAXSIZE + len];
for (int i = 0; i != linearList.length; i++) {
linearList.data[i] = head[i];//将线性表之前的数据移植到新的线性表
}
for (int i = linearList.length; i != linearList.length + len; i++) {
linearList.data[i] = (int)(150.0 * rand() / (RAND_MAX + 100.0));
}//随机给线性表赋[100,150]之间的值
linearList.length = linearList.length + len;//链表当前长度也增加len
linearList.maxSIZE = linearList.maxSIZE + len;//链表总长度也增加len
delete head;//释放资源
}
void showList(L& linearList) {
for(int i = 0; i < linearList.length; i++){
printf("%d ", *(linearList.data + i));
}
}

void initList(L & linearList) {
linearList.data = new int[MAXSIZE];//动态分配10各单位的int
linearList.length = 66;//初始化线性表当前长度为66
linearList.maxSIZE = MAXSIZE;//初始化线性表的最大长度为MAXSIZE
for (int i = 0; i < linearList.length; i++) {
linearList.data[i] = (int)(100.0 * rand() / (RAND_MAX + 2.0));//随机给线性表赋[2,100]之间的值
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值