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