zoukankan      html  css  js  c++  java
  • 单向链表的实现

    #include<iostream>
    #include<ctime>
    using namespace std;

    struct list
    {
    int number;
    list *next;
    };

    int FindLinkList(list *t, int i)
    {
    int j = 0;
    list *p = t;
    while(p&&j < i)
    {
    p = p->next;
    j++;
    }
    if (p)
    return p->number;
    return -1;
    }

    void AddLinkList(list *t, int i, int num)
    {
    int j = 0;
    list *p = t;
    while (p&&j < i)
    {
    p = p->next;
    j++;
    }
    if (p)
    {
    list *s = new list;
    s->next = p->next;
    p->next = s;
    s->number = num;
    }
    }

    void deleteLinkList(list *t, int i)
    {
    int j = 0;
    list *p = t;
    while (p&&j<i-1)
    {
    p = p->next;
    j++;
    }
    if (p&&p->next)
    {
    list *q = p->next;
    if (q->next)
    p->next = q->next;
    else p->next = NULL;
    delete q;
    }
    }
    //头插法
    void createLinkList(list *l, int n)
    {
    srand(time(0));
    list *p;
    for (int i = 0; i < n; i++)
    {
    p = new list;
    p->number = rand() % 100 + 1;
    //cout << p->number << endl;
    p->next = l->next;
    l->next = p;
    }
    }

    //尾插法
    void createlinklist(list *l, int i)
    {
    srand(time(0));
    list *r, *p;
    p = l;
    for (int j = 1; j <= i; j++)
    {
    r = new list;
    r->number = rand() % 100 + 1;
    r->next = p->next;
    p->next = r;
    p = r;
    }
    }

    void clearlinklist(list *t)
    {
    list *p, *q;
    p = t;
    while (p->next)
    {
    q = p->next;
    delete p;
    p = q;
    }
    t->next = NULL;
    }


    void main()
    {

    list *linklist=new list;
    linklist->next = NULL;
    linklist->number = 0;
    /*createLinkList(linklist, 10);*/
    createlinklist(linklist, 10);
    for (int i = 1; i <= 10; i++)
    cout << FindLinkList(linklist, i)<<endl;
    cout << endl;
    deleteLinkList(linklist, 1);
    clearlinklist(linklist);
    for (int i = 1; i <= 9; i++)
    cout << FindLinkList(linklist, i) << endl;


    }

  • 相关阅读:
    WordPress fonts.useso.com加载慢解决办法
    ecshop 需要修改权限的文件夹及文件
    手机前端框架UI库(Frozen UI、WeUI、SUI Mobile)
    apache2配置rewrite_module
    wordpress htaccess伪静态设置
    linux whereis 快速查找命令
    Linux下的PS和grep的使用
    [转]group by 后使用 rollup 子句总结
    Maven配置国内镜像仓库
    清除电脑垃圾.bat
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/6435290.html
Copyright © 2011-2022 走看看