zoukankan      html  css  js  c++  java
  • 线性表-带头结点的单链表

    #include<iostream>
    #include<vector>
    
    using namespace std;
    
    //结构定义
    #define maxSize 50
    typedef struct LNode{
        int data;
        LNode* next;
    }LNode,*LinkList;
    
    //头插法建立单链表
    LinkList List_HeadInsert(LinkList &L){
        LNode *s;
        int elem;
        //建立头结点
        L = new LNode;
        L->next = nullptr;
    
        cin>>elem;
    
        while(elem != -1){
            s = new LNode;
            s->data = elem;
            s->next = L->next;
            L->next = s;
            cin>>elem;
        }
        return L;
    }
    
    //尾插法建立单链表
    LinkList List_TailInsert(LinkList &L){
        L = new LNode;
        L->next = nullptr;
        LNode *s, *r = L;
        int elem;
    
        cin>>elem;
        while(elem != -1){
            s = new LNode;
            s->data = elem;
            r->next = s;
            r = s;
            cin>>elem;
        }
        r->next = nullptr;
        return L;
    }
    
    //按序号查找某个节点
    LNode *GetElem(LinkList &L,int i){
        if(i == 0){
            return L;
        }
        if(i < 0){
            return nullptr;
        }
        LNode* p = L;
        while(p != nullptr && i--){
            p = p->next;
        }
        cout<<p->data;
        return p;
    }
    
    //按值查找表结点
    LNode *LocateElem(LinkList &L,int e){
        if(L->next == nullptr){
            return nullptr;
        }
        LNode * p = L->next;
        while(p != nullptr && p->data != e){
            p =p->next;
        }
        return p;
    }
    

       

  • 相关阅读:
    第七周编程总结
    第六周编程总结
    第五周编程总结
    2019 第四周作业编程总结
    第三周编程总结
    寒假作业 pta编程总结3
    跟着官网学Angular-创建响应式表单-源代码
    RxJS---转载
    NPM
    Sass
  • 原文地址:https://www.cnblogs.com/buaaZhhx/p/12367333.html
Copyright © 2011-2022 走看看