请高手们看看这道题

sam77 2002-06-11 03:33:46
用标准C语言实现如下2个数据结构存取函数,要求该数据结构能存储无符号整数,个数不限,无符号整数值的范围是:1~MAX_INT, 该数据结构使用前要由自己初始化。

数据存取函数:
BOOL PutUnit( unsigned int nData);
把nData存入数据结构,若结构中已有此数或内存溢出,则失败,并返回FALSE, 否则返回为TRUE
int GetUnit(int nIndex);
从数据结构中取出(同时清除)按从大到小顺序的第nIndex个整数,如果该数
不存在,则返回为0。
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ckacka 2002-06-11
  • 打赏
  • 举报
回复
呵呵!
用链表或者是数组都可以
xrbeck 2002-06-11
  • 打赏
  • 举报
回复
哎哟,老弟数据结构该看看了,这么简单的链表..哎.都是第一章就讲的..
mylove0618 2002-06-11
  • 打赏
  • 举报
回复
typedef {
unsigned *unarray;
unsigned length;
}Array;
//...
bool InitArray(Array *aptr,unsigned max){
if((aptr->unarray=(unsigned *)malloc(max*sizeof(unsigned)))==NULL){
printf("\nMemery allocating failed !\n");
return false;
}
aptr->length=max;
return true;
}

上面是初始化数据结构。其余的也很简单。自己完成。
sam77 2002-06-11
  • 打赏
  • 举报
回复
楼上这位老兄有什么高见?
terron 2002-06-11
  • 打赏
  • 举报
回复
什么题目阿
简单的问题搞得这么复杂!
terron 2002-06-11
  • 打赏
  • 举报
回复
什么题目阿
简单的问题搞得这么复杂!
fang_jb 2002-06-11
  • 打赏
  • 举报
回复
pList改成pNext比较合适,

如果还要求无序删除的话,得再加一个pPrev指针,
用来指向前面的数据。考虑不是很详细,不过感觉差不太多了
fang_jb 2002-06-11
  • 打赏
  • 举报
回复
typedef struct _UINT_LIST_
{
unsigned int iData;
struct _UINT_LIST_ * pList;
}ulist;

链表应该就差不多了,PutUnit和GetUnit函数的参数需要改改,可以吗?

排序是怎么个排法?index的顺序是什么?FIFO||FILO?

其实就是个stl中的类似queue的特例实现

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧