zoukankan      html  css  js  c++  java
  • 数据结构------队列(C语言实现)

    声明:我是看了啊哈雷磊老师的《啊哈!算法》写的博客,以后的以及以前的几篇都是这样子的[嘻嘻]。觉得这本书写的很有意思,就打算记录一下,毕竟从图书馆借的书,以后还给学校,这嘛好的内容我就看不到了。(当学生真好)当然了,内容有些小区别,不是完全一样的。

    好了,我先说情景(自编的哈)。小哼和小哈都在上小学5年级,小哼很调皮,不爱学习,小哈,是个女娃娃,学习很认真。一天小哼被爸爸凶了一顿,因为考试成绩不好,小哼注意到了班级里一位叫做小哈的同学,学习很好,每次都考第一。于是就打算要到小哈的qq号方便以后问小哈同学问题。小哈说:“我说一串数字,你把第一个删除,第二个排到这列数字的最后,第三个删除,第四个排到这列数字的最后。。。。。,依次这样。最后剩一个数也要删除,把这些删除的数字依次按照删除顺序排成一列,就是我的qq”.小哼对小哈说:“果然是学霸,膜拜女神”。。。。。。。。

    小哼想了想,这不是队列吗?我之前看过编程方面的书。。。我直接写个算法就 出来了。。。。

     1 #include<stdio.h>
     2 int main(void){
     3     int q[102]={0,1,3,5,6,9,4,2,7,8},head,tail;//0是用来填充第一个位置的;
     4     //为神马从1开始,不是从零呢?其实都一样,感觉从1开始比较好理解;嘻嘻!
     5     head=1;
     6     tail=10;
     7     while(head<tail){
     8     printf("%6d
    ",q[head]);
     9     head++;
    10     q[tail]=q[head];
    11     tail++;
    12     head++;
    13     }
    14     return 0;
    15 }
    View Code

    小哼的哥哥大哼看了看就写了个”高档”的程序。。。用到了结构体。

     1 #include<stdio.h>
     2 struct queue{
     3    int data[100];
     4    int head;
     5    int tail;
     6 };//结构体表示队列
     7 int main(void){
     8     struct queue q;
     9     int i;
    10     q.head=1;
    11     q.tail=1;
    12     printf("please  input nine number: 
    ");
    13     for(i=1;i<=9;i++){
    14        scanf("%d",&q.data[q.tail]);
    15        q.tail++;
    16     }
    17     while(q.head<q.tail){
    18      printf("%6d",q.data[q.head]);
    19      q.head++;
    20      q.data[q.tail]=q.data[q.head];
    21      q.tail++;
    22      q.head++;
    23     }
    24     return 0;
    25 }
    View Code

    好了,就这样。嘻嘻。

  • 相关阅读:
    第三周作业
    #第四周作业
    第十二周作业
    第十一周作业
    第九周作业
    第八周作业
    2019第七周作业
    第三次实验报告及第五次课程总结
    第二次课程总结&学习总结
    第三周实验和学习总结
  • 原文地址:https://www.cnblogs.com/gaoxuerong123/p/6713710.html
Copyright © 2011-2022 走看看