鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[技术交流] 链表的基本操作(线性表)

  [复制链接]
发表于 2017-4-9 12:53:01 | 显示全部楼层
链表操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-8 22:58:17 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-9 20:15:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 12:15:54 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-1 10:34:44 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-6 15:41:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-8 00:27:41 | 显示全部楼层
可见
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-11 21:22:19 | 显示全部楼层
顶。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-13 10:41:31 | 显示全部楼层
回复了看看,谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-26 15:48:23 | 显示全部楼层
支持支持支持支持支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-26 15:54:41 | 显示全部楼层
支持楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-1 08:46:04 | 显示全部楼层
我想看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-2 00:51:06 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>

#define ERROR 0
#define SUCCESSFULLY 1

typedef int ElemType;
typedef int Status;

typedef struct Node
{
        ElemType data;
        struct Node *next;
} Node, *List;

Status InitList(List *plist)
{
        *plist = (Node*)malloc(sizeof(Node));
        if(!*plist)
                return ERROR;
        // 填充头结点的数据域
        (*plist) -> data = 0;
        (*plist) -> next = NULL;

        return SUCCESSFULLY;
}

Status InsertElem(List *plist, int loc, ElemType e)
{
        if(loc > (*plist) -> data + 1)
                return ERROR;

        int i;
        Node *pscan = *plist;

        for(i = 1; i < loc; i++) // 迭代寻找第loc-1个节点
                pscan = pscan -> next;

        Node *pnew = (Node*)malloc(sizeof(Node)); // 为新节点分配空间
        if(!pnew)
                return ERROR;

        pnew -> data = e; // 填充数据域
        // 连接操作
        pnew -> next = pscan -> next;
        pscan -> next = pnew;

        (*plist) -> data++; // 链表长度计数+1

        return SUCCESSFULLY;
}

Status Remove(List *plist, int loc, ElemType *e)
{
        if(loc > (*plist) -> data)
                return ERROR;

        int i;
        Node *pscan = *plist;

        for(i = 1; i < loc; i++)
                pscan = pscan -> next;

        pscan -> next = pscan -> next -> next;
        (*plist) -> data--; // 计数-1

        return SUCCESSFULLY;
}


void ShowList(List *plist)
{
        int n = (*plist) -> data, i;
        Node *pscan = (*plist) -> next;

        for(i = 0; pscan && i < n; i++, pscan = pscan -> next)
                printf("%d ", pscan -> data);
        printf("\n");
}

void DestroyList(List *plist)
{
        Node *pscan = (*plist) -> next,
                 *ptemp;

        while(pscan)
        {
                ptemp = pscan;
                pscan = pscan -> next;
                free(ptemp);
        }

        free(*plist);
}

int main()
{
        int input, i = 1;
        List mList;
        ElemType data;

        InitList(&mList);

        while(scanf("%d", &input) && input)
                InsertElem(&mList, i++, input);
        ShowList(&mList);

        Remove(&mList, 5, &data);
        ShowList(&mList);

        DestroyList(&mList);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-5 16:14:28 | 显示全部楼层
ferawgr
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-8 08:40:48 | 显示全部楼层
代码清单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-8 21:17:44 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-19 20:13:06 | 显示全部楼层
阿斯顿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 18:39:55 | 显示全部楼层
对答案啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-27 15:24:53 | 显示全部楼层
aaaaa
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-9 16:23:47 | 显示全部楼层
好好学习,哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 02:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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