zoukankan      html  css  js  c++  java
  • 02-线性表

    一、PTA实验作业

                 1、题目1:最长连续递增子序列

                 2、设计思路:#求最长递增子列

                                       定义变量i遍历顺序表

                                       定义变量place来记录子序列起始位置

                                       定义变量len来记录长度,置为1

                                       定义变量maxlen记录最长的长度

                                        定义变量maxplace来记录最长的长度的起始位置 

                                       while  i=0 to L->Last

                                            if  L->Data[i]>=L->Data[i+1]

                                                  1、palce移到下一个元素  

                                                  2、len置为1

                                                  3、i加1

                                            else

                                                   1、len加1

                                                   2、i加1

                                            end if

                                            if  maxlen<len

                                                   1、len赋给maxlen

                                                    2、place赋给maxplace

                                            end if

                                        end while

                                        for  i=0 to maxlen-1 

                                               最长子序列依次赋值给L

                                         end for

                                         for  i=0 to maxlen-1

                                               if  i=0

                                                   输出值

                                               else 

                                                   输出空格加值

                                               end if

                                           end for

                  3、代码截图

                  

                             

                  4、PTA提交列表说明

                          

                             1、用C提交出现了编译错误,后来改成了C++,出现段错误;

                             2、用嵌套for循环记录最大子序列出现了段错误,改进成一个for循环,提交后出现了编译错误;

                             3、寻找发现在依次赋值给L时,i<=maxlen,改为i<maxlen后提交正确。

                1、题目2:单链表逆置

                 2、设计思路:#将链表L逆置

                                        定义指针结构变量p,q,p指向L的第一个数据节点

                                        if  p==NULL

                                            1、输出NULL                     

                                            2、retur;

                                         end if

                                         L->next置为空

                                         while  p!=NULL

                                                   头插法,使其逆置

                                         end while

                 3、代码截图

                  

                             

             4、PTA提交列表说明

                 

                                   1、第一次提交编译错误,是输出函数结尾少了'}';

                                   2、后面提交出现了段错误以及部分正确,主要错误就是:(1)创建函数在创建单链表时尾节点没有赋值为NULL;

                                                                                                                              (2)逆置函数使用头插法时while循环的条件使用错误;

                                                                                                                              (3) 输出函数判断单链表为NULL时,只输出而没有return。

                   1、题目3:两个有序序列的中位数

             2、设计思路:#合并两个有序表

                                          定义指针结构变量r,始终指向S3尾节点,开始时指向头节点   

                                           S1和S2移到第一个数据节点

                                            while  S1和S2都不为NULL

                                                       if   S1的数据元素<=S2的数据元素   

                                                            1、r指向S1

                                                            2、S1指向下一个节点

                                                        else

                                                             1、r指向S2

                                                             2、S2指向下一个节点

                                                        end if

                                                        r指向下一个节点

                                             end while

                                             if   S1和S2都为NULL

                                                  return;

                                             end if

                                             if   S1!=NULL

                                                  r指向S1

                                             end if

                                              if   S2!=NULL

                                                   r指向S1

                                              end if

             3、代码截图

                      

                                     

             4、PTA提交列表说明 

                              

                              在做这题的时候,由于前面的题目跟它有异曲同工之处,所以提交时还是比较顺利的,但在做的过程中还是又遇到一些小问题

                             1、在合并时把相同项删掉了,改成了上述写法就没有这种状况了;

                             2、在写博客园的时候,混淆了逻辑位置和物理位置,又提交了1次,发现只有部分正确,认真思考后,弄清了之前的思路。

    二、截图本周题目集的PTA最后排名

    1.顺序表PTA排名

    2.链表PTA排名

    3.我的总分:

                      238

    三、本周学习总结

    1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?

     因为自己的写代码效率低,所以一有空就编程,遇到不会的就向别人请教;整体还是比较满意的。

    2.谈谈你对线性表的认识?

    线性表是一个序列就是元素之间是有顺序的,元素间存在序偶关系。线性表的存储分为顺序存储结构和链式存储结构。

    (1)顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素。

                             优点:可以快速的访问表中任意位置的元素;

                             缺点:插入和删除需要移动大量元素。

    (2)链式存储结构:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

                            优点:在插入和删除操作时,不需要移动元素;

                             缺点:没有顺序存储结构随机存储的优点;

                                         须为表中元素之间的逻辑关系而增加额外的存储空间。

    3.代码Git提交记录截图

     

                    

  • 相关阅读:
    洛谷P4548 [CTSC2006]歌唱王国(概率生成函数)
    洛谷P3643 [APIO2016]划艇(组合数学)
    洛谷T46780 ZJL 的妹子序列(生成函数)
    洛谷P4220 [WC2018]通道(边分治+虚树)
    洛谷P4931 情侣?给我烧了!(加强版)(组合数学)
    洛谷P4451 [国家集训队]整数的lqp拆分(生成函数)
    thinkphp5.0 页面缓存
    thinkphp5.0 cache数据缓存机制
    laravel 视图调用方法并传递参数
    laravel 安装配置前准备
  • 原文地址:https://www.cnblogs.com/lixueting0904/p/8638938.html
Copyright © 2011-2022 走看看