zoukankan      html  css  js  c++  java
  • 入手链表

    链表 动态的链接空间 头有尾空中不断

    先说说链表的构建吧  课本上介绍的是尾插法

    linklist build()
    {
        linklist head,tail,q;
        int i;
        head=tail=NULL;
        for(i=1;i<=8;i+=2)
        {
            q=(linklist)malloc(sizeof(linknode));
            q->data=i+2;//?
            if(head==NULL) head=tail=q;
            else
            {
                tail->next=q;
                tail=q;
            }
        }
        if(tail!=NULL) tail->next=NULL;//这里得重视。。
        return head;
    }

    尾插法需要借助一个始终指向链表尾部的指针 tail

    然后是常见 的插入 搜索 排序

    linklist linkse(linklist head,int x)
    {
        linklist q=head,z;
        z=q;
        while(q!=NULL&&q->data<=x)
        {
            z=q;
            q=q->next;
        }
        return z;
    }
    void linkinsert(linklist q,int x)
    {
        linklist p;
        p=(linklist)malloc(sizeof(linknode));
        p->data=x;
        p->next=q->next;
        q->next=p;
    }
    void output(linklist head)
    {
        linklist q=head;
        while(q!=NULL)
        {
            printf("%5d",q->data);
            q=q->next;
        }
        printf(" ");
    }

    值得一提就是编写链表的习惯问题了  每一个节点 在编写的时候都要注意是否与上下的联系上了 是否正确赋值了  在插入节点的时候 可以不用中间变量

    最后贴一个排序

    void linksort(linklist head)
    {
        int temp;
        linklist i,j;
        i=head;
        while(i!=NULL)
        {
            j=i->next;
            while(j!=NULL)
            {
                temp=i->data;
                if(j->data >= temp)
                {
                    temp=j->data;
                    j->data=i->data;
                    i->data=temp;
                }
                j=j->next;
            }
            i=i->next;
        }
    }

  • 相关阅读:
    C# html转mht
    前端插件
    通过GhostDoc实现自定义方法概要(summary)
    使用word模板生成pdf文件
    js 二维码
    POST 请求静态文件 响应405
    Notepad++ 两个格式化插件
    朴素的标题:MVC中权限管理实践
    对于api安全性的思考
    RSA私钥加密公钥解密、各种密钥格式转换
  • 原文地址:https://www.cnblogs.com/z1141000271/p/5583523.html
Copyright © 2011-2022 走看看