zoukankan      html  css  js  c++  java
  • 链表C语言实现

    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct Node
    {
        int a;
        struct Node* pNext;
    
    }Node;
    
    
    Node* top = NULL;
    Node* end = NULL;
    
    void addNode(int a)
    {
        Node* node = (Node*)malloc (sizeof(Node));
        node->pNext = NULL;
        node->a = a;
        if(top==NULL)
        {
            top = node;
        }
        else
        {
            end->pNext = node;
        }
        end = node;
    }
    
    void delNode(int a)
    {
        Node *pptop = top;
        if(top->a==a)
        {
            Node* node=top;
            top = top->pNext;
            free(node);
            return;
        }
        while(pptop->pNext)
        {
            if(pptop->pNext->a == a)
            {
                Node* node=pptop->pNext;
                pptop->pNext = pptop->pNext->pNext;
                free(node);
                return;
            }
    
            pptop = pptop->pNext;
        }
    
    }
    
    Node* findNode(int a)
    {
        Node* pptop = top;
        while(pptop)
        {
            if(pptop->a==a)
            {
                return pptop;
            }
    
            pptop=pptop->pNext;
        }
        return NULL;
    }
    
    void showNode()
    {
        Node* pptop = top;
        while(pptop)
        {
            printf("%d
    ",pptop->a);
            pptop = pptop->pNext; 
        }
    }
    
    int main()
    {
        int a=3;
        while(a--)
        {
            addNode(a);
        }
        showNode();
        delNode(1);
        showNode();
    
        return 0;
    }
  • 相关阅读:
    java-正则表达式6
    java-正则表达式5
    java-正则表达式4
    java-正则表达式3
    java-正则表达式2
    12.5
    JAVA GUI随笔
    JAVA个人知识总结
    UML关系图
    JAVA中的聚集和组合的区别和联系
  • 原文地址:https://www.cnblogs.com/D-Rui/p/9769172.html
Copyright © 2011-2022 走看看