9月13日 数据结构学习笔记

1.逻辑结构与储存结构

逻辑结构顾名思义就是逻辑上存在的结构,主要是分为线性与非线性(图或者树状结构)

存储结构主要是存储的方式散列表,链表,数组(顺序储存),索引//其实主要是分不开链表与线性结构与数组、链表,实际上是包含了两者的。

2.链表的构造与遍历

  • 链表的构造是依托结构体与指针达成的,其基本单位为节点,Node(顺便一提,Edge为边)
typedef struct Node{
    int date;
    struct Node *next;//指向后继结点
}Node;//这里Node与struct Node等效
建表操作
1.Node *head,*p,*q;//head,p,q均为指向结构体的指针
2.head=null;//头指针为空
3.p=new Node;//开拓储存空间(在c中代码为Node*p=(Node*)malloc(sizeof(Node))
4.p->date=t;
  p->next=null;//给结构体中的成员赋值,让p中的next为null
5.处理头指针
  if(head==null){
    head=p;//如果头指针还是空的,那么就把p赋值给他
  }else{
    q->next=p;//如果没有,就让上一个结点的next指针指向它
  }
  q=p;让现在这个结点变成上一个结点
  把每一个新节点都当伞兵,到了地方先铺路,然后找前任把路铺过来,前任跑过来,自己再坐飞机去下一个点就好理解多了。
6.☆其实pq就是轮流担任上一结点和当前结点,head只在第一次操作时担任当前结点的任务
P->next与(*p).next有相同的效果

3.做链表的提的时候把图画出来是最好的

4.尾插法与头插法

尾插法就是上面的写的那个,说说头插法
头插法其实就是从头结点与首节点的中间插入
因为在插入前,只有通过头结点可以找到下一个结点
所以首要是要用新结点来继承后一节点的指针
p->next=h->next;
h->next=p;
完成
c++中申请与释放内存的操作分别为
new elementype;
delete elementype;

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值