PTA试验作业
题目:
思路:
建立一个链表LinkList1
当输入不是-1的时候
继续录入
到-1的时候结束
建立一个链表LinkList2(链表2用函数建立比较方便)
合并LinkList1和2到3
排序
心路历程:⑴没有考虑链表为空的时候;(思维不够紧密,要加强)
⑵在打代码时很容易打错导致编译错误;(不要求快,要细心解决这种低级错误)
题目:
思路:
int i,j=0;i用于计数,j为统计被删除的个数
for(i=0;i<=L->Last;i++){
if(L->Data[i]>minD&&L->Data[i]<maxD){判断符合删除条件的个数
}
else{
L->Data[j]=L->Data[i];不满足删除条件的存入 从新的下标开始储存
j++;
}
}
L->Last=L->Last-c;数组长度减去删除个数
题目:
设计思路:
首先建立两个指针p,q;
p指向L-next链表第一个元素,然后断开头节点与链表即为L->next=NULL;
然后用while循环(p!=NULL)
q=p此时q中存有第一个元素
p指向p->next
q与L连起来
L->next =q 把q的值给头节点的下一个元素,相当于头插法的操作,每循环一次将后面的元素插在头节点之后,就完成了逆置的操作。
错误:在一些小细节上按犯错,在这个题中就没遇到太大问题。
排名:
顺序表PTA排名
链表排名:
总分:190
总分150-220:1.5分
三、本周学习总结
答:
1.线性表是n个数据元素的有限集合
2.他存在唯一的一个被叫做“第一个”的数据元素,存在唯一的一个被叫做“最后一个”的数据元素。
3.除了第一个数据元素外,其它的数据元素都有一个前驱。除了最后一个数据元素外,其它的数据元素都有一个后继。即中间的元素有一个前驱和一个后驱
4.线性表是一个动态的线性数据结构,他的长度可以在运行时根据需要增加或者缩短。
5.线性表有顺序表,单链表,双向链表,循环链表,静态表