文章目录
- 🍊自我介绍
- 🍊删除
- 🍊判空
你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~
🍊自我介绍
Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾” 和“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。
🍊删除
给一个顺序表buf[10] = {10,20,30,40,50,30,60,30,90,66};如果要删除所有的元素30,后面的元素往前移,你会想到什么方法呢?
删除(之一)的操作思路如下:
1. 我们先定义一个i,一个j ;最初让它们都指向表头位置
2. 通过 i 遍历数组所有的元素,遍历过程中,如果buf[i] != 30,就执行buf[j] = buf[i],j++.
int delete_data_seqlist(seqlist_t *l,datatype_t data)
{int i,j;if(is_empty_seqlist(l))//若是顺序表为空,不能删除{return -1;}for(i = 0;i < l->n;i++)//删除对应的数据{if(l->buf[i] != data){l->buf[j] = l->buf[i];j++;}}//更新n的值l-n = j;//判断删除的数据是否存在if(i == j)//如果没有要删除的元素,最后i和j的值是相等的{return -2;}else{printf("delete %d is successful!\n",data);}return 0;
}
🍊判空
int is_empty_sewlist()
{return l->n ==0 ? 1 : 0;
]