int listsize; //当前分配的存储容量
} SqList;//构造一个空的线性表(初始化)
int InitList_Sq(SqList *L)
{
//动态开辟一维数组
L->elem=(int )malloc(list_init_sizesizeof(int));
//存储分配失败
if(!L->elem)
exit(OVERFLOW);
//空表长度初始化为0;
L->length=0;
//存储的初始容量为初始分配空间
L->listsize=list_init_size;
return OK;
}
int Input_Sq(SqList *L,int n)
{
int i, *newbase;
if(n<0)
return ERROR;
if(n>L->listsize)
{
newbase=(int )malloc(listincreamentsizeof(int));
if(!newbase)
exit(OVERFLOW);
L->elem=newbase;
L->listsize+=listincreament;
}
printf(“情输入元素:\n”);
for(i=0;i<n;i++)
{
scanf(“%d”,&L->elem[i]);
L->length++;
}
return OK;
}
int ListInsert_Sq(SqList *L,int i,int e){
int *newbase;
int *p;
int *q;
if(i<1||i>L->length+1) return ERROR;
if(L->length>=L->listsize){ //当前存储空间已满,增加分配
newbase=(int *)realloc(L->elem,(L->listsize+listincreament)*sizeof(int));
if(!newbase) exit(OVERFLOW); //存储分配失败
for(int j=0;jlength;j++)
{
newbase[j]=L->elem[j];
}
L->elem=newbase; //新基址
L->listsize+=listincreament; //增加存储容量
}
q=&(L->elem[i-1]); //q为插入的位置(注意数组的下标是从0开始计数)
for(p=&(L->elem[L->length-1]);p>=q;p–)
*(p+1)=*p; //插入位置及之后的元素后移
*q=e; //插入e
L->length+=1; //表长增1
return L->length;
}
int Output_Sq(SqList *L, int i)
{
int j;
printf(“更新后的线性表为:\n”);
for(j=0;j<i;j++)
{
printf(“%d\t”,L->elem[j]);
}
return OK;
}
//在顺序线性表L中删除第i个元素,并用e返回其值
int ListDelete_Sq(SqList *L,int i,int &e){
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
0935460074)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-jk6BKggu-1710935460075)]