第七组讨论结论

一、PTA题目集:

普遍问题:

1.链表不知道如何建立。

2.将所有代码写入main函数里,没有函数思想。

3.链表的部分基本操作不熟练。

4-1 删除单链表偶数节点

1、链表节点不知道如何删除。

4-3 链表逆置

1、不懂得如何输入到-1时结束输入。

2、不知道逆置的方法。

4-4 求链表的倒数第m个元素

1、代码十分复杂很难实现题目要求的时间复杂度尽可能小。

4-6 单链表的基本操作

1、基本操作不够熟练,需要借助外力帮助。

5-4 一元多项式的乘法与加法运算。

5-5 两个有序链表序列的合并

主要链表的插入和建立问题

二、链表学习总结 陈星源:难容有点难,不是很好掌握,还是要再多花一点时间,不然跟不上。

陈剑波:对新的内容掌握不是很熟练,在一些细节方面还是会出现错误,和一些不理解的东西。

苏志颖:链表的部分格式做不到规范,有的地方出错也不清楚问题所在

刘思远:知识点较模糊,实际操作起来会很困难。

张书阳:不会写

陈锦霞:大致掌握一些基本操作,但是在很多地方还需要与其他人沟通才可以实现

张恒:难,写不出来。

宾钧荣:不是很懂新教的这些东西

陈伟杰:感觉很懵。

林鹏:写不出来。

三、小组未解决问题

1.4-1 删除单链表偶数节点 DevC++能正常运行但是在pta只有十分,具体怎么修改?代码如下:

//遍历链表:遇到偶数节点就让上一个节点指向下下个节点
struct ListNode *createlist()
{
	struct ListNode *p,*h,*q;    
	p=q=(struct ListNode*)malloc(sizeof(struct ListNode));
	h=(struct ListNode*)malloc(sizeof(struct ListNode));
	int data;	//存放数据
	h=p;	//h为头节点
	scanf("%d",&data);
	while(data!=-1)
	{
		p->data=data;	//保存数据
		q->next=p;	//p指向下一个节点
		q=p;
		p=(struct ListNode*)malloc(sizeof(struct ListNode));
		scanf("%d",&data);
	}
	q->next=NULL;  //尾节点Next指向空
	free(p);
	return h;
}
struct ListNode *deleteeven( struct ListNode *head )
{
	struct ListNode *p,*q;
	p=q=(struct ListNode*)malloc(sizeof(struct ListNode));
	p=head;
	q->next=p;
	while(p!=NULL)
	{
		if(!(p->data%2)) 	//能被二整除的为偶数
		{
			if(p==head)		//如果p是第一个节点就删除头节点,保留头指向的下一个节点作为头
			{
				head=head->next;
				p=head;
				q->next=p;
				continue;
			}
			q->next=p->next;	//直接跳过偶数节点
		}
		q=p;
		p=p->next;
	}
    free(p);
	return head; 
}

 2.4-3 链表逆置
DevC++能正常运行但是在pta显示部分正确,具体怎么修改?代码如下:

//每个节点都插入头节点之前
struct ListNode *reverse( struct ListNode *head )
{
    struct ListNode *p,*q,*y;    //y指向头,q下一个节点就是p
    int i=0;
    p=q=y=(struct ListNode *)malloc(sizeof(struct ListNode));
    y=head;
    p=head->next;
    q=head;
    while(p!=NULL)
    {
        q->next=p->next;    //p下一个节点改为y,q下一个节点改为原p下一个节点
        p->next=y;
        y=p;
        p=q->next;
    }
    head=y;
    return head;
}

3.当在一个函数内申请内存,且最后在free后,有时会导致main里打印出错,为什么有时不能free?

4.大部分同学反映自己对数据结构很难接受,上周由于作业,物理实验等因素留给编程的时间并不多,链表这块内容有点落下,加上c语言的基础不是很好,往往在pta上一题要花费几个小时的时间还没法完成,会对编程产生厌倦。

转载于:https://www.cnblogs.com/chenxingyuan/p/6549708.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值