• 单向链表的实现


    #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;


    }

  • 相关阅读:
    owlcar 用法心得 自定义导航
    placeholder 颜色
    图片加载完后执行事件
    针对动态创建的数据添加事件
    弹窗(遮罩层)
    [iOS]把16进制(#871f78)颜色转换UIColor
    [AFN]AFNetworking错误总结
    [iOS]如何给Label或者TextView赋HTML数据
    [iOS]解决模拟器无法输入中文问题
    [iOS]开发者证书和描述文件的作用
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/6435290.html
Copyright © 2020-2023  润新知