一、顺序表
1.顺序表是基于一维数组实现的
2.顺序表的长度(length)应该比数组长度(maxsize)小
3.顺序表的插入、删除、查找
(1.)插入
在表中第i个位置插入一个新的元素x,表的长度加1,最后的元素像后移。知道把第i个位置空出来,把新元素插入进去。如图所示
(2.)删除
在表中第i个位置删除一个元素x,表的长度减1。如图所示
(3.)查找
顺序表中第i个元素存在第i-1的位置上,实现按位查找,时间复杂度为O(1)
二、链表
1.链表存储是有一个数据域data、一个指针域 next ,一个数据域加上一个指针域称作为一个节点,指针域指向下一个节点
2.p->data 表示当前元素的数据域 p->next 表示指向下一个节点
3.链表的插入、删除、查找
(1.)插入
如果想要在第i个位置插入数据,s->next=p->next;p->next=s;
(2.)删除
如果想要删除i位置的元素,q=p->next;x=q->data;p->next=q->next;
(3.)查找
及时知道想访问的节点,也不能直接查找,也需要一个指针域查找下一个节点,一个个查找
三、链表与顺序表区别
1.针对于删除、插入,还是链表时间复杂度低
2.查找的话,还是顺序表比较快,时间复杂度低
四、以上如有错误,欢迎随时交流,期待共同进步