zoukankan      html  css  js  c++  java
  • 单链表练习

    //code:
    #include
    #include
    using namespace std;
    typedef int status;
    typedef int elemType;
    typedef struct lNode
    {
    elemType  num;
    struct lNode *next;
    }lNode,*linkNode;
     
    linkNode initListNode();
    void echNode(linkNode L);
    linkNode insertNode(linkNode L);
    void creatList(linkNode L,int n);
    void echList(linkNode L);
    linkNode delNode(linkNode L,int n);
    linkNode searchNode(linkNode head,int n);
    int main()
    {
     
    linkNode l,m;
    l=initListNode();
    printf("After Initialization: ");
    echNode(l);
    printf(" Creat and echo List: ");
    creatList(l,4);
    echList(l);
    printf(" Find 2nd elemet: ");
    m=searchNode(l,2);
    printf("Find result: ");
    echNode(m);
    printf(" Delt nodes and echo List ");
    m=delNode(l,1);
    m=delNode(m,1);
    echList(m);
    }
     
    linkNode initListNode()
    {
    linkNode L;
    L=(linkNode)malloc(sizeof(lNode));
    L->num=0;
    L->next=NULL;
    return L;
    }
    void creatList(linkNode L,int n)
    {
    int i;
    for(i=0;i
    {
    L=insertNode(L);
    L->num=i+1;//num value
    }
    }
     
    void echNode(linkNode L)
    {
    printf("Node num is %d ",L->num);
    }
    linkNode insertNode(linkNode L)
    {
    linkNode tmpp;
    tmpp=(linkNode)malloc(sizeof(lNode));
    //tmpp->num=9;
    tmpp->next=NULL;
    L->next=tmpp;
    return tmpp;
    }
     
    void echList(linkNode L)
    {
    linkNode tmpp;
    tmpp=L;
    do
    {
    echNode(tmpp);
    tmpp=tmpp->next;
    }
    while(tmpp);
    }
     
    linkNode searchNode(linkNode head,int n)
    {
    linkNode tmpp;
    tmpp=head;
    //printf(" Search %dnd element!! ",n);
    while(--n)
    {
    if(tmpp->next)
    {
    tmpp=tmpp->next;
    }
    else
    {
    //cout<<"Over max quantity of Nodes of the List";
    exit(0) ;
    }
    }
    //printf("The num is %d. ",tmpp->num);
    return tmpp;
    }
     
    linkNode delNode(linkNode head,int n)
    {
    linkNode tmpp,nodep;
    if(n>1)
    {
    tmpp=searchNode(head,n-1);
    nodep=tmpp->next;
    tmpp->next=tmpp->next->next;
    free(nodep);
    return head;
    }
    else if(n=1)
    {
    tmpp=head->next;
    free(head);
    return tmpp;
    }
    }
    result:
    After Initialization:
    Node num is 0
     
    Creat and echo List:
    Node num is 0
    Node num is 1
    Node num is 2
    Node num is 3
     
    Find 2nd elemet:
    Find result:
    Node num is 1
     
    Delt nodes and echo List
    Node num is 2
    Node num is 3
    请按任意键继续. . .
  • 相关阅读:
    探讨e.target与e.currentTarget
    JavaScript事件模型
    博客
    angular创建自定义指令的四种方式
    jqueryMobile模块整理—图标(icons)
    jqueryMobile模块整理—按钮(buttons)
    Visio 2010,如何打开多个窗口
    Ajax.ActionLink浏览器中代码解析问题
    响应式布局
    jquery的each
  • 原文地址:https://www.cnblogs.com/eiguleo/p/3879116.html
Copyright © 2011-2022 走看看