. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->C/C++语言
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  循环链表  [待解决] 回复[ 2次 ]   点击[ 926次 ]  
chinatree
[帖 主]   [ 发表时间:2011-10-10 17:01 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
#include "stdio.h"
#include "mem.h"/*memset函数在这里定义*/
#define NULL 0
typedef struct
{
   int a[100];/*队列空间*/
   int b;/*队尾*/
   int c;/*对首*/
}abc;
void insert(abc * q,int p)/*入队*/
{
   if((q->b+1)%100==q->c)/**/
      printf("dui man,cha ru shi bai.\n");
   else
     {
       q->a[q->b]=p;
       q->b=(q->b+1)%100;
      }
   return   ;
}
void deleted(abc* q,int *p)/*出队*/
{
   if(q->c==q->b)/**/
      printf("delete fail!\n");
   else if(*p==NULL)
       q->c=(q->c+1)%100;
   else
    {
      *p=q->a[q->c];
      q->c=(q->c+1)%100;
    }
   return ;
}
void traverse(abc *q)/*遍历队列*/
{
   int i=q->c;
   while(i%100<q->b)
     printf("%d  ",q->a[i++]);
   printf("\n");
   return ;
}
int main(void)
{
   abc ABC;
   int x;
   memset(&ABC,0,204);/*队列空间填零*/
   insert(&ABC,12);/*入队*/
   insert(&ABC,10);
   traverse(&ABC);/*遍历*/
   deleted(&ABC,NULL);/*出队*/
   deleted(&ABC,&x);
   deleted(&ABC,&x);
   getch();/*按任意键退出*/
   return 0;
}
louis
[第1楼]   [ 回复时间:2013-01-20 23:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-01-20 22:48
循环链表就是头尾相连
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved