#include<stdio.h>
#include<stdlib.h>
#define InitSize 10
typedef struct{
float *data;
int length;
int MaxSize; //顺序表最大容量
}seqList;
void initSeL(seqList &L){
L.data = static_cast<float*>(malloc(InitSize * sizeof(float)));
L.length = 0;
L.MaxSize = InitSize;
}
void IncreaseSeL(seqList L, int len){
float*p = L.data;
int i;
L.data = static_cast<float*>(malloc((L.MaxSize+len) * sizeof(float)));
for(i;i<L.length;i++){
L.data[i]=p[i]; //p指向的数据放到动态顺序表中(p指针指向的内容未赋值)
}
L.MaxSize = L.MaxSize + len;
free(p);
}
int main(){
seqList L;
initSeL(L);
IncreaseSeL(L,5);
for(int i=0; i<=L.MaxSize ;i++)
{
printf("%f \n",L.data[i]);
}
return 0;
}
/*顺序表的特点:
1)随机访问 ,可以在时间复杂度O(1)内找到第i个元素
2)存储密度高,每个节点只存储数据元素
3)拓展容量不方便,拓展长度时间复杂度较高
4)插入删除不方便,需要的移动大量元素
*/