zoukankan      html  css  js  c++  java
  • 单链表C/C++实现

    #include <iostream>
    
    using namespace std;
    const int N = 10;
    typedef int ELEMTYPE;
    
    typedef struct Node
    {
            ELEMTYPE data;
            Node *next;
    }LNode,*LinkList;
    
    
    void initLinkList(LinkList &L);
    int insertList(LinkList &L,int index, ELEMTYPE e);
    int deleteList(LinkList &L, int index,ELEMTYPE &e);
    void printLinkList(LinkList &L);
    
    int main()
    {
    
        LinkList L;
        initLinkList(L);
        for(int i=1;i<=N;i++)
        {
            insertList(L,i,i);
        }
        printLinkList(L);
        return 0;
    }
    
    
    void initLinkList(LinkList &L)
    {
        L = new LNode;
        L->data = 0;
        L->next = NULL;
    }
    int insertList(LinkList &L,int index, ELEMTYPE e)//插入到第index个元素前面
    {
        if(index<1 || index>(L->data+1))
            return 0;
    
        LNode *p = L;
        int num = 0;
        while(num<index-1)
        {
            p = p->next;
            num++;
        }
    
        LNode *q = new LNode;
        q->data = e;
        q->next = p->next;
        p->next = q;
        L->data ++;
        return 1;
    }
    
    int deleteList(LinkList &L, int index,ELEMTYPE &e)
    {
    
        if(index<1 || index>L->data) return 0;
    
        LNode *p = L;
        int num = 0;
    
        while(num<index-1)
        {
            p = p->next;
            num++;
        }
        LNode *q = p->next;
        e = q->data;
        p->next = q->next;
        delete q;
        return 1;
    }
    void printLinkList(LinkList &L)
    {
        LNode *p = L;
        while(p->next)
        {
            p = p->next;
            cout<<p->data<<"	";
        }
        cout<<endl;
    }
    
  • 相关阅读:
    git
    avalonJS
    push
    DataTables使用学习记录
    django models使用学习记录
    js操作记录
    部署网站遇到的问题
    ubuntu修改文件权限记录
    django发送邮件
    ubuntu使用记录
  • 原文地址:https://www.cnblogs.com/yldf/p/6249902.html
Copyright © 2011-2022 走看看