`
yzd
  • 浏览: 1858540 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

把我的 C 作业贴出来 实验二 栈和队列 ——2

 
阅读更多

实验二 栈和队列

一、 实验目的

1.熟悉栈和队列的顺序和链式存储结构

2.掌握栈和队列的基本运算

3.能够利用栈和队列的基本运算完成栈和队列应用的运算

二、 实验内容

2.假设以数组sequ[m]存放循环队列的元素,同时设变量rearquelen 分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。(文件夹:习题10_9



/*循环队列的结构类型定义.h*/

#define m 5

typedef int datatype;

typedef struct

{ datatype sequ[m];

int rear, quelen;

}qu;

/*循环队列入队出队的主程序文件.cpp*/

#include <stdio.h>

#include<stdlib.h>

#include"循环队列的结构类型定义.h"

#include"置空队.h"

#include"入队.h"

#include"出队.h"

int main()

{ qu *sq;

datatype x, *p;

int key;

/*sq=new qu;*/

sq = (qu*)malloc(sizeof(qu));

setnull(sq);

do

{ /*cout<<"1.Enter Queue 2.Delete Queue -1.Quit:";

cin>>key;

*/

puts("1.Enter Queue 2.Delete Queue -1.Quit:");

scanf("%d",&key);

switch(key)

{ case 1: /*cout<<"Enter the Data:"; cin>>x;*/

puts("Enter the Data:");scanf("%d",&x);

enqueue(sq,x); break;

case 2: p=dequeue(sq);

if(p!=NULL) /*cout<<*p<<endl;*/

printf("%d/n",*p);

break;

case -1: exit(0);

}

}while(1);

return 0;

}

/*该程序输入非数字时将出错*/

/*置空队.h*/

void setnull(qu *sq)

{ sq->rear=m-1;

sq->quelen=0;

}

void enqueue( qu * sq,datatype x)

{

if(sq->quelen==m)

{

printf("队满,入队失败./n");

return;

}

sq->rear=(sq->rear+1)%m;

sq->sequ[sq->rear]=x;

sq->quelen++;

return;

}

datatype* dequeue(qu* sq)

{

datatype *x;

x=(datatype*)malloc(sizeof(datatype));

if(sq->quelen==0)

{

printf("队空,出队失败./n");

return 0;

}

*x=sq->sequ[(sq->rear-sq->quelen+1+m)%m];

sq->quelen--;

return x;

}

分享到:
评论

相关推荐

    队列和栈试讲20分钟教案.pdf

    - 学生应具备一定的编程基础,例如C语言,以便在实践中应用栈和队列的概念。 6. **教学对象**: - 教学对象是计算机专业的大三学生,有一定的编程基础,但实践经验较少,因此需要结合实例和实验加强理解。 通过...

    数据结构实验与习题线性表栈和队列串数组树与二叉树

    本书《数据结构实验与习题——线性表栈和队列串数组树与二叉树》旨在帮助学生更好地理解和实践这些概念。 首先,书中介绍了C语言基础知识,这是实现数据结构的基础。C语言的基本输入输出、函数及其参数传递、以及...

    数据结构:第3章栈和队列C.ppt

    在课程实验和作业中,可能会遇到严蔚敏教授教材中的相关习题,这些习题旨在加深对栈和队列的理解,提高问题解决能力。比如3.5、3.6、3.10、3.21、3.29和3.32题,涵盖了栈和队列的多种应用场景和算法设计。 总之,...

    数据结构:第3章栈和队列B.ppt

    作业和实验部分,学生被要求完成严蔚敏教材配套的习题,包括涉及栈和队列的题目,如3.5、3.6、3.10、3.21、3.29和3.32题。同时,还要求学生编写一个实用软件,利用数据结构知识,这可能涉及到实际编程和文档编写,...

    c语言实验作业源代码

    在本实验作业中,我们将深入探讨C语言编程中的一个重要数据结构——链表。链表是一种动态数据结构,它不像数组那样需要预先分配连续的内存空间,而是通过节点间的指针链接来存储数据。这对于处理不确定数量的数据...

    头歌 顺序表,链表,循环队列的基本操作和应用答案。

    在计算机科学中,数据结构是组织、管理和存储数据的方式,以便于高效地访问和修改。这里我们讨论的是顺序表、链表以及循环队列,这些都是基本的数据结构,广泛应用于算法设计和程序实现中。 顺序表是一种线性数据...

    大二上——数据结构_数据结构实验_

    在这个“大二上——数据结构”实验中,我们将深入学习并实践一些基础且重要的数据结构,如栈、链表和队列。 1. **栈**(Stack):栈是一种后进先出(LIFO, Last In First Out)的数据结构,类似于现实生活中的堆叠...

    中国科学院大学22-23秋季学期 《程序设计基础与实验(C语言)》课程大作业——基于Min-Max搜索策略的五子棋对战程序

    在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的...

    Queue_hustC++实验_

    在华中科技大学计算机学院的C++实验课程中,"Queue_hustC++实验_"是一个针对初学者设计的项目,旨在让学生掌握数据结构中的基础概念——队列(Queue)的实现。队列是一种线性数据结构,遵循“先进先出”(FIFO, ...

    数据结构(C++版)王红梅版(第2版)

    王红梅教授通过清晰的解释和丰富的实例,帮助读者理解并掌握各种基本和高级数据结构,如数组、链表、栈、队列、树、图等。 首先,我们来了解一下数据结构的重要性。数据结构是计算机科学的基础,它研究如何在内存中...

    哈尔滨工业大学《数据结构与算法》、《软件开发实践》作业及实验的Scheme解法。.zip

    在哈工大的《数据结构与算法》以及《软件开发实践》课程中,学生们通常会遇到一系列挑战性的作业和实验,这些任务旨在深化他们对数据结构和编程语言的理解。本资源包提供了一种独特的解决方案——Scheme语言的解法,...

    操作系统实验报告

    - 假设系统中有三种类型的设备:A(3台)、B(2台)和C。 - 学生需要模拟设备的分配和回收过程,并确保设备独立性。 - 设备的分配应该考虑到设备的类型和数量,而设备的回收则需要确保释放的设备可以再次被分配。 通过...

    数据结构(C语言版)《严蔚敏、吴伟民编著》课件(第1章)

    课程内容通常包括:绪论(数据结构基本概念、学习的重要性、抽象数据类型和算法效率衡量)、线性结构、栈和队列、数组和广义表、字符串、树和二叉树、图、查找、排序以及文件等。每个主题都涵盖了理论和实际操作,...

    系统调用——

    7. 其他系统服务:包括信号处理、定时器、进程间通信(IPC)等,如`kill()`发送信号,`pipe()`和`socketpair()`创建管道,`msg*`、`sem*`和`shm*`函数族涉及消息队列、信号量和共享内存等IPC机制。 了解并熟练运用...

    【精品课件】数据结构与算法 数据结构与C语言 data structure课程 第1章 绪论(共56页).ppt

    此外,课程介绍了几种经典的数据结构,如线性表、栈、队列、串、数组、广义表、树、二叉树、图,以及查找和排序算法,这些都是计算机科学中不可或缺的基础。 教材方面,推荐了严蔚敏的《数据结构》和《数据结构——...

    数据结构课件zju01

    主讲教师徐镜春推荐了一本教材——《数据结构与算法分析(C语言描述)》第二版,作者是Mark Allen Weiss。这本书深入浅出地讲解了数据结构和算法的基础知识,适合初学者和有一定经验的学习者。此外,还提供了一些...

    职技高师“数据结构”教学内容及体系改革的探索——以江西科技师范大学为例.pdf

    新教学大纲设计的授课内容结构主要包括基本数据结构(如线性表、栈、队列、串、数组和广义表)和复杂数据结构(如树、二叉树、图和动态存储管理)。对于基本数据结构,强调掌握其特点、表示和实现,并通过编程实践...

    《数据结构》教案.pdf

    课程内容涵盖了从绪论到内部排序等多个主题,如线性表、栈、队列、串、数组、广义表、树、二叉树、图、查找和排序等。每个主题都有相应的理论教学和实验实践。 考核方式以考试为主,总评成绩由期末成绩(70%)、...

    数据结构与算法课件 北大张铭 DS_02

    2. **讲义和作业发布**: - 实验班讲义和作业发布(包括实习作业):`http://db.pku.edu.cn/mzhang/ds/honor/` - 实习课讲义和作业发布:`http://db.pku.edu.cn/mzhang/DS/shixi/` 这些资源提供了学习者获取课程...

    武汉大学c#数据结构课件

    - **栈和队列**:讲解栈和队列的原理、特性及应用场景。 - **串**:研究字符串处理技术及算法。 - **数组和广义表**:探讨数组的存储结构与广义表的概念。 - **树和二叉树**:分析树形数据结构的特性和操作。 - **图...

Global site tag (gtag.js) - Google Analytics