#include "stdio.h"
#include "malloc.h"
#include "mem.h" /*memset在这*/
#include "dos.h" /*sleep在这*/
#define NULL 0
typedef struct abc /*定义表结构*/
{
int a[100];
int b;
}AB;
AB * create() /*建表*/
{ AB * p;
p=(AB *)malloc(sizeof(AB));
return p;
}
char full(AB *p) /*测试表满*/
{
return (p->b>99)?1:0;
}
char kong(AB * p) /*测试表空*/
{
return (p->b<=0)?1:0;
}
void insert(AB * p,int q,int j) /*入表*/
{
if(full(p))
{
printf("list full!\n");
sleep(1);
return ;
}
else if(j==NULL)
{
p->a[p->b]=q;
p->b++;
printf("%d ",q);
printf("number %d\n",p->b);
sleep(1); /*延时1秒*/
return ;
}
else
{
int i=98-j;
while(i--)
p->a[j+i+1]=p->a[j+i]; /**/
p->a[j]=q;
p->b++;
printf("insert OK! number %d\n",p->b);
sleep(1);
}
return ;
}
void deleted(AB * p,int q,int j)/*出表*/
{
if(kong(p))
{
printf("list kong!\n");
sleep(2);
return ;
}
else if(j==NULL)
{
q=p->a[p->b];
p->a[p->b--]=0;
printf("\ndelete %d\n",q);
printf("number %d\n",p->b);
sleep(2);
return ;
}
else
q=p->a[j];
while(j<99)
{
p->a[j]=p->a[++j];
}
p->b--;
printf("delete %d\n",q);
printf("delete OK!number %d\n",p->b);
sleep(1);
return ;
}
void traverse(AB * p)/*遍历输出*/
{
int i=p->b;
if (!i)
{
printf("\nNULL!\n");
sleep(1);
return;
}
else
while(i)
{
printf("%d ",p->a[(p->b)-i]); /*不为0就输出*/
i--;
}
sleep(3);
return ;
}
int main(void)
{
int s,z;
AB *ab;
ab=create(); /*分配空间*/
memset(ab,0,sizeof(int)*101); /*空间填零*/
while(1)
{
clrscr(); /*清屏函数*/
printf("1.insert\n");
printf("2.delete\n");
printf("3.traverse\n");
s=getch(); /*取按键ascii*/
if(s==0x1b) break; /*ESC退出*/
else if(s<0x31||s>0x33) continue;
else
switch(s)
{
case 0x31: /*数字1写入*/
printf("Please input two number!\n");
scanf("%d%d",&s,&z); /*位置不对就是追加*/
if (z>99||0)
insert(ab,s,NULL);
else
insert(ab,s,z);
break;
case 0x32:
printf("where delete?\n"); /*2是删除*/
scanf("%d",&z);
if (z>99||0)
{
printf("delete :"); /*位置不对就删除最后进表的那个*/
deleted(ab,s,NULL);
}
else
{
printf("delet:");
deleted(ab,s,z);
}
break;
case 0x33:
traverse(ab);break; /*遍历输出*/
}
}
free(ab); /*释放空间*/
return 0;
}
http://www.asmedu.net/blog/user/bigimg.jsp?neighborId=41617&pic=pic_1318322629187.jpg" alt="图">
http://www.asmedu.net/blog/user/bigimg.jsp?neighborId=41617&pic=pic_1318322616140.jpg" alt="图">
http://www.asmedu.net/blog/user/bigimg.jsp?neighborId=41617&pic=pic_1318322616140.jpg" alt="图">
- [kanwangxue] 感觉楼主很乖的。有点孩子气。呵呵。 01/27 08:58
- [kanwangxue] it界,进去干嘛啊,到时候自己牛比了,首先写一个自己的语言,自己用。进入IT界不就是随波做流吗/?他 01/27 08:57
- [kanwangxue] 哥们,不要为了赚钱而学计算机。 计算机是年轻时候干的, 30岁后可以开始想赚钱,年轻嘛,不要这么悲 01/27 08:50
- [游客] 怎么说? 01/26 16:22
- [游客] 你这不行啊,差远了! 01/10 22:29
- [chinatree] 谢谢你。相信你也会成功的。 01/09 14:22
- [landyking] 哥们儿,好久不见。相信你会成功的。 12/02 23:34
- [chinatree] 哇哇,被挖坟了。莫生气,只是感觉谦虚些好,就算你的程序真的是史上最强的,也别说出来嘛,自己偷着乐就行 11/20 00:41
- [xiaoyao2012] 你的程序和我的程序比较也不见得你的程序又节约空间,在某种意义上说你的程序用了没学的指令,所以不见得你 11/19 15:39
- [heliang6291] 一起加油啊 07/02 02:45
- [游客] 急需一个汇编程序大作业。。。。。。。。。。。。。。。。。。。??? 12/28 16:50
- [游客] 这么多人喜欢你,我嫉妒了。但你不可以喜欢那么多,允许你在我不需要你的时候帮别人。如果我需要立叫立到。 11/13 13:11
- [tily] 兄弟 我来看你啦 呵呵 最近可好呀 09/26 22:17
- [stqcw] 能加我qq吗?1270911891 我在做课程设计2的时候 遇到点问题 09/24 09:16
- [stqcw] 能加我qq吗?1270911891 我的环境还是有点问题。按下A的时候不能显示满屏的A 09/20 09:36
- [stqcw] 牛人 我在xp里面运行王爽 汇编第二版 p280的例子 按下esc键没反应 呀 怎样在虚拟机里配置一 09/17 15:18
- [landyking] 呵呵,交个朋友,共同学习. 09/08 00:03
- [luyingdzx] 能知道你的QQ吗?或者请加一下我的QQ271190440,可以吗 虽然在论坛能获得解答,但是有的问 08/07 21:32