数据结构第2章学习小结

  1. 你对本章内容的小结
  2. 完成作业或实践时解决困难的经验分享
  3. 这段时间,你参考了哪些值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)
  4. 目前学习过程中存在的困难,待解决或待改进的问题
  5. 上次博客确定的目标达到了吗?如果没达到,请分析原因
  6. 接下来的目标

  1.线性表小结:

    (一)顺序表

        ( 1 )初始化:为顺序表L动态分配一个预定义大小的数组空间,使elem指向这段空间的基地址,将当前长度设为0

              L.elem = new int [maxsize];

              if ( ! L.elem) 退出,申请失败;

              L.length = 0;

              退出,申请成功;

          ( 2 )    取值:   按下标取值即可

        ( 3 ) 查找 :先判断指定的位置序号i是否合理,合理则一个for循环遍历

        ( 4 )插入 :第一,判断指定的位置序号 i 是否合理;

               第二,判断顺序表的储存空间是否已满;

               第三,将最后一个至第i个元素依次向后移动一个位置;

               第四,插入;第五,表的长度+1

        ( 5 )删除:第一,判断指定的位置序号 i 是否合理;

              第二,将第 i + 1 个至最后一个元素依次向前移动一个位置;

              第三,表的长度-1

    (二) 链式表

        ( 1 )初始化:新生成节点作为头节点,头指针L指向头节点,头节点的指针域为空

              L = new Lnode;

              L -> next = NULL;

          ( 2 ) 取值 :顺藤摸瓜地找

              P = L -> next ;

              找到则赋值e=P->data;

              设置一个计数器j,退出循环时如果指针P为空或者计数器 j 大于 i (i为要找的节点序号),说明搜索失败

        ( 3 ) 查找: 顺藤摸瓜地找,找到则返回p此时的地址值,没找到则返回NULL

        ( 4 )插入:第一,找到该节点的前一个节点ai-1,并用指针p指向该节点;

               第二,生成新节点;

               第三,新节点数据域置为e;

                 第四,新节点指针域指向ai,

                 第五,节点p的指针域指向新节点

           代码: ListInsert(单链表L , 第i个节点 , 插入的数据e(放在第i-1和第i个节点之间))

              {

                 int  *p = L ;int j = 0; 

                 while(p && ( j < i - 1)  )

                  {p=p->next;++j;}

                 if( !p || j > i - 1) return 错误;

                 s = new Lnode;//新建节点

                 s -> data = e;//数据域置为e

                 s ->next = p -> next; //新节点指针域指向ai

                 p -> next = s;

                 return 成功;

              }          

         ( 5 )删除:一:找到ai-1; 二:找到ai+1, 三:ai-1节点的指针域指向ai+1 四:释放ai空间

   2.完成作业或实践时解决困难的经验分享

    看书+百度

  3.这段时间,你参考了哪些值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)

    只参考了课本

  4.目前学习过程中存在的困难,待解决或待改进的问题

    string a;(写在函数以外)

    char b[1000];(写在函数以外)

    getline(cin,a);

    cin.getline(b,1000);

    输入相同的数据,a和b的内容有何不同?

  5.上次博客确定的目标达到了吗?如果没达到,请分析原因

    上次博客没有确定目标(该博客为第一篇)

  6.接下来的目标

     A完天梯T1的题

猜你喜欢

转载自www.cnblogs.com/Remilia-Scarlet/p/10534548.html