c语言中关于单链表的问题

我正在设计一个下程序,但是遇到了一点麻烦:我想要用单链表实现数据存储,因为有好多函数都要操作其中的数据,所以我想定义它为全局变量,但是链表的长度必须在某些函数中才能确定,... 我正在设计一个下程序,但是遇到了一点麻烦:
我想要用单链表实现数据存储,因为有好多函数都要操作其中的数据,所以我想定义它为全局变量,但是链表的长度必须在某些函数中才能确定,我觉得不好弄。。。所以,我该怎么解决呢?
还有就是,排序的时候,有按学号,按工资等好多个,我一个一个分开写很费劲,不知道c有没有简便方法,比如说,我定义一个变量i,当需要按学号排序的时候,令i等于学号,当需要按工资排序的时候,令i等于工资,然后我就可以只写一个按i排序的程序了。
我c语言学的不是很好,希望大家可以不吝赐教,谢谢!
展开
 我来答
zywezd
2011-08-22
知道答主
回答量:16
采纳率:0%
帮助的人:19万
展开全部
定义全局的链表长度,在有些函数中长度动态变化没有关系。
此外可以设计链表的头结点为非数据节点,里面存在链表长度。

对于排序,可以写个void sort(List L,bool (*compare)(LNode p,Lnode Q))
{
//按关系:compare,进行排序,
}
只要定义了compare函数的行为比如按学号比较p,q那么排序也就确定。
newlife9090
2011-08-22 · TA获得超过332个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:302万
展开全部
如果是链表的话长度怎么能提前确定呢??当然是你插几个是几个咯!

第二个问题牵扯到类型转换,想简便的话
提前定义一个 typedef int AAA; 这样如果轮到下次要计算其他类型了 只需要把int和传入变量改为相应的就可以了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式