zoukankan      html  css  js  c++  java
  • DS博客作业02--线性表

    1.本周学习总结

    1.1思维导图

    1.2.谈谈你对线性表的认识及学习体会

    这阶段学习学的是线性表,学习线性表的两种存储顺序-----链表和顺序表,体会了两者存储结构之间的区别,通过对顺序表,单链表,双链表,循环链表,有序表的特点的了解,和学习它们的算法设计方法,综合运用线性表解决一些问题,在查资料时,也领悟一点单双链表的在一些方面使用的优劣,对线性表的知识更加加深一点。

    2.PTA实验作业

    2.1.题目1:6-2 jmu-ds-有序表插入数据

    2.1.1设计思路(伪代码)

    void CreateSqList(SqList &L, int n)
       分配存放线性表L的空间;       
       定义k表示L中的元素个数,初始值为0;
         while(i<n//扫描数组元素){
         将a[i]存放入L中;
            k++;
           i++;
    }
          设置L的长度k;
    
    void InsertSq(SqList &L, int x)
     定义i=1,使插入的数放在第一个位置;
     定义j来使线性表向后退一位
     定义k和t来进行两层循环排序
     定义y当中间值对调需要对调的两个数值
     if i的值错误,返回false;
    for  j=L->length to i
     将线性表往后退一格
    将x存入第一个位置
    Length++;
    for k=0 to L->length
    {
      for t=0 to k
      if(L->data[k]=L->data[t])
      用y为中间值将两个对调
      end for
    }
    end for;
    
    void DispSqList(SqList L)
    int i来遍历线性表
    if L->length=0
    cout <<"error"
    else 
    for i=0 to L->length-1
    cout<< L->data[i];
    if i!=L->length-1
    输出空格
    

    2.1.2代码截图


    2.1.3本题PTA提交列表说明

    • Q1:一开始还不熟悉线性表,编译错误
    • A1:后来看书看题,慢慢钻研
    • Q2:部分正确
    • A2:因为一开始空格输出没有弄好,导致后面一直出现格式错误
    • Q3:关于算法
    • A3:一开始有用过遍历比较哪个位置可以插入,后来出现一些错误,直接改把数插在第一个,然后冒泡排序。

    2.1.题目1:6-5 jmu-ds-头插法建链表

    2.2.1设计思路(伪代码)

    void CreateListF(LinkList &L,int n)
    创建结点s;
    L=new Lnode
    创建头结点,其next域为0
    for int i=0 to n 
    遍历将a[i]的值存入链表
    s->next=L->next
    L->next=s
    将s插入之前首节点的前面,头结点之后
    
    void DispList(LinkList L)
    定义p指向首结点
    while(p!=NULL)
    输出p结点的data域
    p指向下个结点
    并且if(p->next!=0)
    cout<<" "
    

    2.2.2代码截图

    2.2.3本题PTA提交列表说明

    • Q1:段错误
    • A1:链表傻傻指向搞不清楚,导致乱指,然后各种错误
    • Q2:格式错误
    • A2:同上

    2.3.题目3:6-7 jmu-ds-单链表逆置

    2.3.1设计思路(伪代码)

    void ReverseList(List &L)
    创建p结点和q结点
    p指向首节点
    其next域制空
    while (p)
    将链表同时向后退一位
    使用头插法使链表逆序
    

    2.3.2代码截图

    2.3.3本题PTA提交列表说明

    • Q1:编译错误
    • A1:原本打在建一个链表,然后逆序存放,结果没弄好
    • Q2:头插法之外
    • A2:头插法还是同学帮忙提出思路,助教说的直接改数值也ok,黑猫白猫,抓鼠就是好猫。

    3、阅读代码

    3.1 题目

    3.2 解题思路

    3.3 代码截图

    3.4 学习体会

  • 相关阅读:
    poj 1392 Ouroboros Snake
    poj 1780 Code
    poj 2513 Colored Sticks
    ZOJ 1455 Schedule Problem(差分约束系统)
    poj 3169 Layout (差分约束)
    ZOJ1260/POJ1364国王(King)
    poj 1201/zoj 1508 intervals 差分约束系统
    zoj 2770 Burn the Linked Camp (差分约束系统)
    构造函数和析构函数
    PHP面向对象——静态属性和静态方法
  • 原文地址:https://www.cnblogs.com/wxj991220/p/10629336.html
Copyright © 2011-2022 走看看