代码如下:
1
#include<stdio.h>
2
3
struct llist
4
}
2
3
4
C#使用类代替结构进行节点表示,改写如下:
1
using System;
2
3
class Node
4
}
2
3
4
不过这个版本(包括C和C#代码)的链表创建有一些问题,你看出来了吗?
本来应该分配6个节点,可上面的代码却分配了7个节点,产生这种错误的原因是因为没有独立处理第一个节点。链表中的第一个节点是链表操作的特例,需要独立处理。
改改以后的代码如下:
C版本 :
1
#include<stdio.h>
2
3
struct llist
4
}
2
3
4
1
using System;
2
3
class Node
4
}
2
3
4
参考资料:《数据结构C语言版》
wssmax的blog文章:c#数据结构研究———链表1
PS:我不是很清楚.NET中写数据结构的方式,以上C#代码只是纯粹按部就班改写C代码,如果有更好的方式,欢迎大家提醒,谢谢!