/*
在指定位置插入元素
传入参数:ArrayList指针,索引index,元素element
插入方式,按照数组插入方式,在x位置插入,则将x —— (size-1)位置的元素全部向后移动
*/boolinsert(ArrayList *list, int index, int element)
{
if (index < 0 || index > list->size)
{
printf("Insert index is not defined.\n");
return False;
}
if (index == list->size)
{
add(list, element);
return True;
}
for (int i = list->size - 1; i >= index; i--)
{
list->array[i + 1] = list->array[i];
}
list->array[index] = element;
list->size++;
return True;
}
5. 删除元素(按照位置)
/*
按照索引删除元素
参数:ArrayList指针,索引index
*/booldel_index(ArrayList *list, int index)
{
if (index < 0 || index >= list->size)
{
printf("Del index is not defined");
return False;
}
for (int i = index; i < list->size; i++)
{
list->array[i] = list->array[i + 1];
}
list->size--;
return True;
}
6. 获取元素索引
/*
获取元素位置
参数:ArrayList指针,元素element
返回值:找到的第一个元素的索引,如果数组中没有,则返回-1
*/intget_ele(ArrayList *list, int element)
{
int flag = 0;
for (int i = 0; i < list->size; i++)
{
if (list->array[i] == element)
{
flag = 1;
return i;
}
}
if (!flag)
{
return-1;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!