资源描述:
《队列数据结构(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、队列是一种特殊的线性表,队列中所有的插入均限定在表的一端进行,而所有的删除则限定在表的另一端进行。允许插入的一端称为队尾,允许删除的一端称为队头。队列的特点是先进先出。下面在VC6环境中用纯C语言编程风格(主函数用intmain())编写小游戏贪吃蛇;蛇身增长数据用队列数据结构记录。#include#include#include#include#defineS_SIZE16#defineS_LEN300#defineMOVET1#defineMOVEB2#defineMOV
2、EL3#defineMOVER4#defineMOVE_L_T5#defineMOVE_L_B6#defineMOVE_R_T7#defineMOVE_R_B8#defineMOVE_TB9#defineMOVE_LR10#defineTABLE_TX80#defineTABLE_TY80#defineTABLE_RX560#defineTABLE_RY400typedefstructSNAKE{intx;inty;intm_state;ints_g;}m_snake;typedefstructGAMESNAKE{m_snakes_h;m_snake
3、s_bn[S_LEN];m_snakes_bo[S_LEN];m_snakes_t;POINTs_H_h;intfront;intrear;}Gamesnake;Gamesnake*tmp;typedefstructFOOD{intfx;intfy;intfs_g;intfk;}Food;Food*ft;//-----------头部数据列表--------//向上数据POINTH_top[11]={4,1,2,3,2,12,3,14,3,16,13,16,13,14,14,12,14,3,12,1,4,1};POINTH_te1[5]={4,3,4
4、,5,6,5,6,3,4,3};POINTH_te2[5]={10,3,10,5,12,5,12,3,10,3};//向左数据POINTH_left[11]={1,4,1,12,3,14,12,14,14,13,16,13,16,3,14,3,12,2,3,2,1,4};POINTH_le1[5]={3,4,3,6,5,6,5,4,3,4};POINTH_le2[5]={3,10,3,12,5,12,5,10,3,10};//向右数据POINTH_right[11]={0,3,0,13,2,13,4,14,13,14,15,12,15,4,13,2,
5、4,2,2,3,0,3};POINTH_re1[5]={11,4,11,6,13,6,13,4,11,4};POINTH_re2[5]={11,10,11,12,13,12,13,10,11,10};//向下数据POINTH_bottom[11]={3,0,3,2,2,4,2,13,4,15,12,15,14,13,14,4,13,2,13,0,3,0};POINTH_be1[5]={4,11,4,13,6,13,6,11,4,11};POINTH_be2[5]={10,11,10,13,12,13,12,11,10,11};//----------
6、---身体数据列表------------//上下数据POINTB_tb[5]={3,0,3,16,13,16,13,0,3,0};//左右数据POINTB_lr[5]={0,3,0,13,16,13,16,3,0,3};//左上数据POINTB_lt[8]={3,8,3,16,13,16,13,13,16,13,16,3,8,3,3,8};//左下数据POINTB_lb[8]={3,0,3,8,8,13,16,13,16,3,13,3,13,0,3,0};//右上数据POINTB_rt[8]={0,3,0,13,3,13,3,16,13,16,13
7、,8,8,3,0,3};//右下数据POINTB_rb[8]={0,3,0,13,8,13,13,8,13,0,3,0,3,3,0,3};//-------------尾部数据列表---------------//向上数据POINTT_top[9]={3,0,3,16,6,16,6,8,10,8,10,16,13,16,13,0,3,0};//向左数据POINTT_left[9]={0,3,0,13,16,13,16,10,8,10,8,6,16,6,16,3,0,3};//向右数据POINTT_right[9]={0,3,0,6,8,6,8,10,
8、0,10,0,13,16,13,16,3,0,3};//向下数据POINTT_bottom[9]={3,0,