zoukankan      html  css  js  c++  java
  • 单项循环链表

    单向循环链表
    1。节点
    typedef int datatype;
    typedef struct node
    {
    datatype data;
    struct node *next;

    }listnode,*linklist;

    2.声明单向循环空链表,不带头结点的单向循环链表
    linklist init_list()
    {
    linklist L =NULL
    return L;
    }

    bool is_empty(linklist L)//判断是否为空链表
    {
    return L ==NULL
    }

    3.插入数据
    //bool inser_node(int data,struct node *l)
    bool inser_node(int data,linklist *l)//主要因为这里要对头进行操作所有需要取*,传地址,否则只能对形参产生影响,而不影响实参的变化。
    {
    //产生新节点
    linklist new =malloc();
    new->data=data;

    //
    if(is_empty(*pl))
    {
    *l=new;
    new->next=new;//循环,指向自身
    return true;
    }


    //链表不为空插入节点
    linklist p = *l;
    while(p->next!=*l)
    {
    p=p->next;
    }
    new->next=*l;
    p->next=new;
    return true;

    }


    4.
    show(linklist L)
    {

    linklist p=L;
    while(p->next!=L)
    {
    printf("",p->data)
    p=p->next;
    }
    printf("",p->data)//打印节点,注意最后一个节点需要格外打印

    }
    int main()
    {
    linklist L;
    L=init_list();
    for(i=1;i<=5;i++)
    {
    inser_node(i,&L);//这里注意取地址
    }


    }

  • 相关阅读:
    cookie.js插件
    cookie.js插件的案例
    解决mysqli的中文乱码问题
    mysqli字符编码
    小人行走的动画案例
    原生js中用Ajax进行get传参
    php操作数据库
    数据库的信息处理
    数据库的dos命令
    面向对象php 接口 抽象类
  • 原文地址:https://www.cnblogs.com/defen/p/5201860.html
Copyright © 2011-2022 走看看