队列
阵列队列
#include#include/*佇列資料結構*/structQueue{intArray[10];//陣列空間大小inthead;//前端(front)inttail;//後端(rear)intlength;//佇列長度 //將其視為當前资料大小,並且使用這個成員判斷滿或空 };/*資料加入佇列*/voidEnQueue(structQueue*Queue1,intx){Queue1->Array[Queue1->tail]=x;if(Queue1->tail+1==10)//Queue1->length改為空間大小10{Queue1->tail=0;//1改為0 }else{Queue1->tail=Queue1->tail+1;//Queue1->length=Queue1->length+1;//這行邏輯上有問題 //Modify By pcjackal.tw //這行放於外面}Queue1->length=Queue1->length+1;//當前個數增1}/*資料移出佇列*/intDeQueue(structQueue*Queue1){intx=Queue1->Array[Queue1->head];if(Queue1->head+1==10)//空間大小10{Queue1->head=0;}else{Queue1->head=Queue1->head+1;}Queue1->length=Queue1->length-1;//移出后減少1returnx;}/*佇列操作*/intmain(){structQueue*Queue1=malloc(sizeof(structQueue));//建立資料結構Queue1->length=0;//新增長度//10改為0,初始狀態Queue1->head=0;//必須要先初始化Queue1->tail=0;//必須要先初始化EnQueue(Queue1,5);//將5放入佇列EnQueue(Queue1,8);//將8放入佇列EnQueue(Queue1,3);//將3放入佇列EnQueue(Queue1,2);//將2放入佇列printf("%d ",DeQueue(Queue1));//輸出佇列(5) printf("%d ",DeQueue(Queue1));//輸出佇列(8)printf("%d ",DeQueue(Queue1));//輸出佇列(3) system("pause");}
参见
堆栈
链表
数组
数据结构
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值