• 链表的增删(未考虑末尾)


    #include<iostream>
    using namespace std;
    
    class node{
    public:
        node():value(0),next(NULL){}
        ~node(){}
        int value;
        node* next;
    };///be careful this ;
    
    node* createlist(int a[],int n)
    {
     node* startnode = new node[n];
     node* ret = startnode;
     for(int i = 0;i<n;i++)
     {
         startnode[i].value = a[i];
         if(i<n-1) 
             startnode[i].next = startnode + i + 1;
     }
     while(startnode)
     {
         cout<<" "<<startnode->value;
         startnode = startnode->next;
     }
     cout<<endl;
     return ret;
    }
    
    node* insertnode(node* nd,int n)///在第n个元素后面加数
    {
     node* temp = nd;
     node* startnode = nd;
    
     while(--n) ////注意这个符号的顺序
     temp = temp->next; ///这样就知道了第n个数
    
     node* nnode = new node;
     nnode->value = 123;
     nnode->next = temp->next;
     temp->next = nnode;
    
      while(startnode)
     {
         cout<<" "<<startnode->value;
         startnode = startnode->next;
     }
      cout<<endl;
     return nd;///暂时不考虑插入头这种情况
    }
    
    node* deletenode(node* nd,int n)
    {
     node* temp = nd;
     node* t;
     node* startnode = nd;
     n = n -1;
     while(--n)
         temp = temp->next;
     t = temp->next ;
     temp->next = temp->next->next;
     delete t;
       while(startnode)
     {
         cout<<" "<<startnode->value;
         startnode = startnode->next;
     }
       cout<<endl;
     return nd;
    }
    int main()
    {
        int a[] = {1,2,3,4,5,6,7,8,9};
        node * t = createlist(a,9);
        insertnode(t,3);
        deletenode(t,4);
    }
    berkeleysong
  • 相关阅读:
    Linux安装Oralce 11g问题
    Hadoop 2.X 集群安装
    Centos图形界面关闭与开启
    SecureCRT乱码
    Hadoop 1.X 集群安装
    ThinkPad E430c 开机启动
    Node.js运行端口修改
    Node.js代理设置
    Github安装过后删除右键菜单选项
    吴恩达深度学习笔记 第四章作业1
  • 原文地址:https://www.cnblogs.com/berkeleysong/p/3737073.html
Copyright © 2020-2023  润新知