第二次作业--线性表
一、PTA实验作业 本周要求挑3道题目写设计思路、调试过程。设计思路用伪代码描述。题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装 单链表选择一题(6-1不能选) 有序表选择一题 题目: 6-3 jmu-ds- 顺序表删除重复元素(25 分) 设计一个算法,从顺序表中删除重复的元素,并使剩余元素间的相对次序保存不变 设计思路: int i=0,j=0,k; 先定义三个计数下标 for(i=0;i<L->length;i++){ j=i+1; 让j始终比i大1,才能让两个相邻的数比较 while(j<L->length){ if(L->data[i]==L->data[j]){ 判断相邻两个数是否相等 for(k=j;k<L->length-1;k++){ L->data[k]=L->data[k+1]; 如果相等让下标为J的数等与j+1然后在与下标为i的数相比 } L->length--; 如果有相等的就表长减一 } else j++; } } 代码截图: PTA测试结果 ; 6-3 jmu-ds-链表倒数第m个数(20 分) 已知一个带有表头节点的单链表,查找链表中倒数第m个位置上的节点 设计思路: int Find(LinkList L, int m ) { LinkList p; p=L;