主函数
void main()
{
int i,a[10];
LinkQueue *queue = NULL;
queue = LinkQueue_Create();
if(queue ==NULL)
{
return;
}
//添加元素
for(i=0;i<5;i++)
{
a[i]=i+1;
LinkQueue_Appecd(queue,&a[i]);
}
//求队列的属性
cout<<LinkQueue_Length(queue<<endl;
cout<<*((int*)LinkQueue_Header(queue))<<endl;
//出队列
while(LinkQueue_Length(queue)>0)
{
int temp;
temp=*((int*)(LinkQueue_Retrieve(queue)));
cout<<tmp;
}
system("pause");
return ;
}
头文件
//业务节点的数据结构
typedef struct _tag_LinkQueueNode
{
LinkListNode node;
void* item;
}TLinkQueueNode;
//队列中添加元素 相当于 向线性表的尾部添加元素
int LinkQueue_Append(LinkQueue* queue,void* item)
{
int ret=0;
TLinkQueueNode *tmp =NULL;
tmp=(TLinkQueueNode*)malloc(sizeof(TLinkQueueNode));
if(tmp==NULL)
{
return ret;
}
memset(tmp ,0,sizeof(TLinkQueueNode));
tmp->item=item;
//需要把栈的item(栈的业务节点)转化成链表的LinkListNode
ret=LinkList_Insert(queue,(LinkListNode*)node,LinkList_Length(queue));
if(ret!=0)
{
if(tmp!=NULL) free(tmp);
return ret;
}
return ret;
}