c++实现动态线性表

#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]之间的值
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值