鱼C论坛

 找回密码
 立即注册
查看: 1983|回复: 0

[技术交流] c链表

[复制链接]
发表于 2018-8-27 21:20:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
刚刚用c写了一个数据链表,,希望大佬可以指导指导
/******************/
/*一个小的链表程序*/
/******************/
#include <stdio.h>
#include <stdlib.h>
//结点的结构体
typedef struct node
{
    char data;
    struct node*next;
}Node;
//链表的结构体
typedef struct
{
    Node *head;
    Node *list1;
    int num;
}NList;
//生成一个链表
void CreateList(NList *list)
{
    list->head = NULL;
    list->list1 = NULL;
    list->num = 0;
}
//向链表中添加数据
void AddList(NList *list)
{
    char data;
    scanf("%c",&data);
    while(data != '#')
    {
        if(list->head == NULL)
        {
            list->head = (Node *)malloc(sizeof(Node));
            list->head->data = data;
            list->head->next = NULL;
            list->list1 = list->head;
            list->num = 1;
        }
        else
        {
            Node *p = (Node *)malloc(sizeof(Node));
            list->list1->next = p;
            p->data = data;
            list->list1 = p;
            list->list1->next = NULL;
            list->num++;
        }
        scanf("%c",&data);
    }
}
//显示链表中的数据
void ShowList(NList list)
{
    Node *P1;
    P1=list.head;
    while(P1 != NULL)
    {
        printf("%c",P1->data);
        P1 = P1->next;
    }
}
//删除链表头的数据
void DelList_head(NList *list)
{
    if(list->head != NULL)
    {
        Node *p2 = list->head;
        list->head = p2->next;
        list->num--;
        free(p2);
    }
    else
    {
        printf("链表中不存在数据\n");
    }
}
int main()
{
    NList list2;
    CreateList(&list2);
    AddList(&list2);
    ShowList(list2);
    printf("\n链表中的数据个数是:%d个\n",list2.num);
    DelList_head(&list2);
    ShowList(list2);
    printf("\n链表中的数据个数是:%d个\n",list2.num);
    return 0;
}
程序执行的结构如下:


sh.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 20:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表