鱼C论坛

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

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

  [复制链接]
发表于 2017-4-9 12:53:01 | 显示全部楼层
链表操作
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-8 22:58:17 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-9 20:15:25 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 12:15:54 | 显示全部楼层
学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-1 10:34:44 | 显示全部楼层
123
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-6 15:41:38 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-8 00:27:41 | 显示全部楼层
可见
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-11 21:22:19 | 显示全部楼层
顶。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-13 10:41:31 | 显示全部楼层
回复了看看,谢谢分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-26 15:48:23 | 显示全部楼层
支持支持支持支持支持
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-26 15:54:41 | 显示全部楼层
支持楼主
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-1 08:46:04 | 显示全部楼层
我想看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  3. #define ERROR 0
  4. #define SUCCESSFULLY 1

  5. typedef int ElemType;
  6. typedef int Status;

  7. typedef struct Node
  8. {
  9.         ElemType data;
  10.         struct Node *next;
  11. } Node, *List;

  12. Status InitList(List *plist)
  13. {
  14.         *plist = (Node*)malloc(sizeof(Node));
  15.         if(!*plist)
  16.                 return ERROR;
  17.         // 填充头结点的数据域
  18.         (*plist) -> data = 0;
  19.         (*plist) -> next = NULL;

  20.         return SUCCESSFULLY;
  21. }

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

  26.         int i;
  27.         Node *pscan = *plist;

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

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

  33.         pnew -> data = e; // 填充数据域
  34.         // 连接操作
  35.         pnew -> next = pscan -> next;
  36.         pscan -> next = pnew;

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

  38.         return SUCCESSFULLY;
  39. }

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

  44.         int i;
  45.         Node *pscan = *plist;

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

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

  50.         return SUCCESSFULLY;
  51. }


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

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

  60. void DestroyList(List *plist)
  61. {
  62.         Node *pscan = (*plist) -> next,
  63.                  *ptemp;

  64.         while(pscan)
  65.         {
  66.                 ptemp = pscan;
  67.                 pscan = pscan -> next;
  68.                 free(ptemp);
  69.         }

  70.         free(*plist);
  71. }

  72. int main()
  73. {
  74.         int input, i = 1;
  75.         List mList;
  76.         ElemType data;

  77.         InitList(&mList);

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

  81.         Remove(&mList, 5, &data);
  82.         ShowList(&mList);

  83.         DestroyList(&mList);
  84. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-5 16:14:28 | 显示全部楼层
ferawgr
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-8 08:40:48 | 显示全部楼层
代码清单
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-8 21:17:44 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-7-19 20:13:06 | 显示全部楼层
阿斯顿
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 18:39:55 | 显示全部楼层
对答案啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-27 15:24:53 | 显示全部楼层
aaaaa
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-9 16:23:47 | 显示全部楼层
好好学习,哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-12 20:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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