C版的链表先要了解动态内存分配函数malloc的使用,使用结构表示节点单元。
代码如下:
 1数据结构基础 - 链表的创建(C和C#代码)#include<stdio.h>
 2数据结构基础 - 链表的创建(C和C#代码)
 3数据结构基础 - 链表的创建(C和C#代码)struct llist
 4}

C#使用类代替结构进行节点表示,改写如下:
 1数据结构基础 - 链表的创建(C和C#代码)using System;
 2数据结构基础 - 链表的创建(C和C#代码)
 3数据结构基础 - 链表的创建(C和C#代码)class Node
 4}

不过这个版本(包括C和C#代码)的链表创建有一些问题,你看出来了吗?

本来应该分配6个节点,可上面的代码却分配了7个节点,产生这种错误的原因是因为没有独立处理第一个节点。链表中的第一个节点是链表操作的特例,需要独立处理。
改改以后的代码如下:
C版本 :
 1数据结构基础 - 链表的创建(C和C#代码)#include<stdio.h>
 2数据结构基础 - 链表的创建(C和C#代码)
 3数据结构基础 - 链表的创建(C和C#代码)struct llist
 4}
C#版本:
 1数据结构基础 - 链表的创建(C和C#代码)using System;
 2数据结构基础 - 链表的创建(C和C#代码)
 3数据结构基础 - 链表的创建(C和C#代码)class Node
 4}


参考资料:《数据结构C语言版》
wssmax的blog文章:c#数据结构研究———链表1

PS:我不是很清楚.NET中写数据结构的方式,以上C#代码只是纯粹按部就班改写C代码,如果有更好的方式,欢迎大家提醒,谢谢!

相关文章:

  • 2021-11-28
  • 2021-11-28
  • 2021-07-03
  • 2021-09-05
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-17
  • 2021-11-02
  • 2022-12-23
  • 2021-10-09
  • 2021-11-04
相关资源
相似解决方案