zoukankan      html  css  js  c++  java
  • 单向链表(数组模拟)

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 const int maxn=1010;
     5 struct node{    //point即指针,data就是需要维护的数据
     6     int point,data;
     7 }a[maxn];
     8 int head,cnt;    //head即头指针,cnt即内存池计数器
     9 
    10 void buid(){
    11     head=++cnt;        //把head设为没有实际意义的哨兵
    12     a[head].data=0;
    13 }
    14 
    15 void add(int k,int now)
    16 {
    17     for(int i=head;i;i=a[i].point)    //从头指针开始遍历链表
    18         if(!(--k))        //到达插入位置
    19         {
    20             a[++cnt].point=a[i].point;    //将新插入节点的指针指向插入位置的后继
    21             a[i].point=cnt;        //将前驱节点的指针指向新插入节点
    22             a[cnt].data=now;
    23             break;
    24         }
    25 }
    26 void del(int k)
    27 {
    28     for(int i=head;i;i=a[i].point)
    29         if((--k)==1)    //找到前驱
    30         {
    31             a[i].point=a[a[i].point].point;        //将前驱的指针指向后继
    32             break;
    33         }
    34 }
    35 int main()
    36 {
    37     buid();
    38     add(1,5);    //进入,因为计算时考虑了哨兵,所以进入时++k
    39     add(2,6);    //进入,因为计算时考虑了哨兵,所以进入时++k
    40     add(3,3);
    41     add(4,1);
    42     add(5,2);
    43     add(6,8);
    44     add(7,4);
    45     
    46     for(int i=a[head].point;i;i=a[i].point)
    47         cout<<a[i].data<<" ";
    48     cout<<endl;
    49     
    50     add(6,9);
    51     
    52     for(int i=a[head].point;i;i=a[i].point)
    53         cout<<a[i].data<<" ";
    54     cout<<endl;
    55         
    56     del(3);
    57     
    58     for(int i=a[head].point;i;i=a[i].point)
    59         cout<<a[i].data<<" ";
    60     cout<<endl;    
    61     
    62     return 0;
    63 }

    链表博客  https://www.cnblogs.com/ivanovcraft/p/9037475.html

  • 相关阅读:
    字典树(Trie)的学习笔记
    kmp学习笔记
    NOIP PJ游记
    Hash学习笔记
    神奇的差分法(内附树状数组的一点扩展)
    DLX算法一览
    A*与IDA*的奇妙之旅
    HDU_2553——n皇后问题,作弊
    HDU_2035——求A^B的最后三位数
    HDU_2034——集合A-B
  • 原文地址:https://www.cnblogs.com/tflsnoi/p/13522336.html
Copyright © 2011-2022 走看看