码迷,mamicode.com
首页 > 编程语言 > 详细

C语言 严蔚敏数据结构 线性表之链表实现

时间:2019-05-08 09:38:40      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:计算机科学   科学   解释   pre   阶段   style   color   head   scanf   

  博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现。

  首先,数据结构包括1、数据的操作2、逻辑结构3、存储结构(数据结构三要素。

  直接上代码,现阶段代码实现功能有:链表初始化、遍历、增、删、返回链表长度,后续功能陆续发布。其中肯定有很多问题,希望各位码哥留言。

Linklist* InitList(int i)//i为链表大小
{
    Linklist *head;
    head = (Linklist*)malloc(sizeof(Linklist));
    Linklist *end=head;
    int j = 0;
    for (j = 0;j < i;j++)
    {
        Linklist *node = (Linklist*)malloc(sizeof(Linklist));
        scanf("%d", &node->data);
        end->next = node;
        end = node;
    }
    end->next = NULL;
    return head;
}
int GetLenLinklist(Linklist *head)//获取带头结点链表长度
{
    int length;
    Linklist *p;
    p = head;
    for (length = 0;p->next != NULL;length++)
    {
        p = p->next;
    }
    return length;
}
void LinklistMap(Linklist *head,int length)//遍历整个链表
{
    Linklist *p;
    p = head->next;
    int i;
    for (int i=0;i<length;i++)
    {
        printf("第%d个值为%d", i+1 , p->data);
        p = p->next;
    }
}
void InsertLinkList(Linklist *head,int i,int data)//在第i个结点后插入 一个结点
{
    Linklist *p = head;
    int j = 0;
    while (p->next!=NULL&&j < i - 1)
    {
            p = p->next;
            ++j;
    }
    if (!p || j > i - 1)
        printf("当前链表为空");
    else
    {
        Linklist *node = (Linklist*)malloc(sizeof(Linklist));
        node->data = data;
        node->next = p->next;
        p->next = node;
    }
}
void DelLinklist(Linklist *head, int data)//删除结点值=data的结点。
{
    Linklist *p, *q;
    q = head;
    p = head->next;
    while (p->next != NULL && p->data != data)
    {
        p = p->next;
        q = q->next;
    }
    if (p->data!=data&&p->next == NULL)
        printf("链表中无此节点");
    else
    {
        q->next = p->next;
        free(p);
    }
}//还未实现多个结点==某个值

后续即将更新,再插入和删除操作中,记住赵海英老师上课的话,先连接,后删除!

本博客唯一解释权:成都大学信息科学与工程学院学习委员雷雷提

C语言 严蔚敏数据结构 线性表之链表实现

标签:计算机科学   科学   解释   pre   阶段   style   color   head   scanf   

原文地址:https://www.cnblogs.com/Alei777/p/10829794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!