关闭

tui

48人阅读 评论(0) 收藏 举报

copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd.

File name:

Author:Jerey_Jobs    Version:0.1    Date:

Description:

Funcion List:

*****************************************************/

 

#include <stdio.h>

#include <stdlib.h>

#define max_size 10

enum return_result{

FULL_OK,FULL_NO,EMPTY_OK,EMPTY_NO,PUSH_OK

};

struct quece_data

{

    int quece[max_size];

int top;

int buttom;

};

typedef struct quece_data Quece;

void create_quece(Quece **quece)

{

*quece=(Quece *)malloc(sizeof(struct quece_data));

 

}

void init_quece(Quece **quece)

{

(*quece)->top=-1;

(*quece)->buttom=-1;

}

int is_full(Quece **quece)

{

if((*quece)->buttom==-1)

{

if((*quece)->top==max_size-1)

return FULL_OK;

}

else if((((*quece)->top-(*quece)->buttom)+1)==max_size)

{

return FULL_OK;

}

return FULL_NO;

}

int is_empty(Quece **quece)

{

if((*quece)->top<=(*quece)->buttom)

{

return EMPTY_OK;

}

return EMPTY_NO;

}

int push_quece(Quece **quece,int num)

{

int i;

if(is_full(quece)==FULL_OK)

{

printf("the quece is full!\n");

exit(FULL_OK);

}

if((*quece)->top<max_size-1)

{

((*quece)->top)++;

((*quece)->quece[(*quece)->top])=num;

}

else

{

for(i=(*quece)->buttom;i<=(*quece)->top;i++)

{

(*quece)->quece[i-(*quece)->buttom]=(*quece)->quece[i];

}

(*quece)->top=(*quece)->top-(*quece)->buttom+1;

(*quece)->buttom=0;

((*quece)->top)++;

((*quece)->quece[(*quece)->top])=num;

}

return PUSH_OK;

}

int pop_quece(Quece **quece)

{

if(is_empty(quece)==EMPTY_OK)

{

printf("the quece is empty!");

exit(EMPTY_OK);

}

return ((*quece)->quece[++((*quece)->buttom)]);

}

int main()

{

Quece *quece;

create_quece(&quece);

init_quece(&quece);

int i=0;

for(i;i<10;i++)

{

if(push_quece(&quece,i+1)==PUSH_OK)

{

printf("push num:\t %d\n",i+1);

}

}

for(i=0;i<10;i++)

{

printf("pop num:\t %d\n",pop_quece(&quece));

}

    return 0;

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17281次
    • 积分:1513
    • 等级:
    • 排名:千里之外
    • 原创:132篇
    • 转载:16篇
    • 译文:6篇
    • 评论:0条
    阅读排行
    评论排行