定义 i控制循环,count计数在区间内的数字个数 for i=0 to Last { 若是数字在minD到maxD内count++ 不然 第i-count个数换成第i个数 Last修改成Last-count 返回L
定义一个p指针指向L头节点 遍历L 计数个数n 若是m>0 for i=1 to n-m+1 i增1 L左移 x=L的数据data 直到指到第n-m+1个数字为止(倒数第m个) 若是m<=0 x=-1 返回x
主函数: 输入a数组 b数组 输出合并后的s3数组 尾插法创建链表s1存a s2存b 合并函数: a指向s1的第一个数字 b指向s2的第一个数字 为s3申请新的结点 r指向s3的头节点 while遍历a和b(其中一个结束即中止) 若a指向的数字大于b指向的数字 r指向b的指向的结点 b右移 若a指向的数字小于b指向的数字 r指向a指向的结点 a右移 若a等于b指向的数字 r指向a的结点 a b同时右移 若a没遍历完 则接下来a后的全部结点接上r 若b没遍历完 则接下来b后的全部结点接上r r->next=NULL 输出s3
很是不满意的学习,感受本身在逃避学习,刚刚开始作题,作不出来就不想作了,本身在逃避这些事,感受是很是很差的状态,以为心态应该调整过来,不去解决永远都不会,解决得少解决得多都会有进步,聚沙成塔。git
单链表 双链表 循环链表,双链表感受比较灵活,有前驱和后置结点,循环链表的话知道尾结点就能够知道头节点(单链表),而后还有以为有两种建链表的方法很方便,头插尾插,能够根据须要选择。单链表和双链表,循环链表的选择也要根据须要来,对于不一样问题用不一样类型的链表解决时间复杂度和空间复杂度都有所不一样,若是选择的合适,能够大大节省空间也提升速度。数组