#define OK 1
#define ERROR 0
#define NULL 0
#define status int
typedef int Elemtype
typedef struct tailDATA{
Elemtype data/*这个存放的是队列元素的值*/
struct tailDATA *next//指向下一个元素
}datatail,*map
/*以下定义的是队列头的数据结构*/
typedef struct Tail{
/*说明:对队列进行 *** 作的时候,插入的时候是对front *** 作,删除*/
Elemtype data/*这个记载的是队列的元素的个数*/
map front/*这个是队列的头*/
map rear/*这个是队列的尾*/
}tail,*mappath
/*以下定义的就是 *** 作了,初始话的 *** 作就不想做了,直接写个插入和删除等的一些的算法就可以了*/
status inserttail(mappath &T,map P)
{/*这个函数的功能是将一个个已知的元素插入队列中*/
if(T==NULL)
{
T=(mappath)malloc(sizeof(tail))
T->data=0
T->front=NULL
T->rear=NULL
}
if(!P) return OK
T->rear->next=P
T->rear=P
if(!(T->front)) T->front=P
return OK
}
status insertdatatail(mappath &T,int a)
{/*这个函数将一个元素插入队列中,其实这个函数是没有必要的,但是为了方便起见,还是写了个*/
if(T==NULL)
{
T=(mappath)malloc(sizeof(tail))
T->data=0
T->front=NULL
T->rear=NULL
map linshi=(map)malloc(sizeof(datatail))
linshi->data=a
linshi->next=NULL
T->front=linshi
T->rear=linshi
T->data=1
return OK
}
map linshi=(map)malloc(sizeof(datatail))
linshi->data=a
linshi->next=NULL
T->rear->next=linshi
T->rear=linshi
if(!(T->front)) T->front=linshi
T->data++
return OK
}
status deltail(mappath &T)
{/*因为对队列进行删除 *** 作的时候,基本上是没有什么条件,就是对front做一些相应的 *** 作就可以了
,所以他的函数列表也就比较少了*/
if(!T) return ERROR/*如果队列本来就是空的,那么就返回一个错误的信息*/
if(T->front==T->rear)
{/*如果队列只有一个元素,就执行下面的 *** 作,防止出现了错误*/
map linshi=T->front
free(linshi)
T->data=0
T->front=NULL
T->rear=NULL
return OK
}
map linshi=T->front
T->front=T->front->next
T->data--
free(linshi)
return OK
}
status puttail(mappath T)
{/*这个是对一个已经存在的队列进行输出*/
if(!T) return ERROR
printf("the tail'count is %d\n",T->data)
int count=T->datamap q=T->front
for(int i=0i<counti++)
{
printf("%d",q->data)
q=q->next
}
return OK
}
int main()
{
printf("hello,world!\n")
mappath q=NULLint count1=0int dataa=0
printf("please input a number to the count of tail\n")
scanf("%d",&count1)
for(int i=0i<count1i++)
{
printf("please input a number to tail\n")
scanf("%d",&dataa)
insertdatatail(q,dataa)
}
puttail(q)
deltail(q)
puttail(q)
return 0
}
这完全是文不对题啊,队列是一种先进先出的数据结构,通常在各种编程语言中都提供相应的类库支持,但MySQL是一个关系型数据库管理系统,并不直接提供这种功能,也不应该提供这种功能。如果真需要先进先出,就把查询的结果放入到对应高级语言的队列中即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)