顺序表实现
- 物理存储:连续
- 实现方式:数组
- 分类:静态顺序表和动态顺序表
- 注意事项:动态顺序表的初始化,增删查改均需要传址
- 缺点:
- 头插等头部操作以及指定位置操作,在数据量大的时候没有使用优势,需要大量移动元素(时间复杂度为O(N))
- 增容需要申请新空间(一般成两倍增长),拷贝数据,释放旧空间,会有不小的消耗
LeetCode–27.移除元素
LeetCode 27.移除元素
法一 :创建新的数组,遍历原数组,将不为val的值放到新数组中
法二:双指针法
创建两个双指针dst,prev;
若prev指向的值为val,prev++;
若prev指向的值不为val,nums[des++]=nums[prev++];
LeetCode–26.删除有序数组中的重复项
LeetCode26.删除有序数组中的重复项
双指针法
LeetCode–88.合并两个有序数组
LeetCode 88.合并两个有序数组
法一:
将num2中数据放入num1中,用排序算法对num进行排序(借助效率低下的排序,整体运行效率低)
法二:
l1=m-1
l2=n-1
l3=m+n-1
从后往前比大小谁大谁往后放
注意:最后只用处理num2中未放入的元素,num1的自动放入