`
- 浏览:
1038181 次
- 性别:
- 来自:
北京
-
//队列,队首删除,队尾插入, 先进先出
#include<stdio.h>
#define MaxSize 100
typedef char ElemType;
typedef struct
{
ElemType queue[MaxSize];
int front,rear;
}queue;
//init a queue
void initqueue(queue *Q)
{
Q->front=Q->rear=-1;
}
//Enter the queue
void enter(queue *Q,ElemType x)
{
if(Q->rear==MaxSize)
{
printf("The queue is too long~\n");
}
else
{
Q->rear++;//remove the rear
Q->queue[Q->rear]=x;
}
}
//Delete an element
void del(queue *Q)
{
if(Q->front==Q->rear)
{
printf("Empty queue!\n");
}
else
Q->front++;
}
//Get the first element
ElemType gethead(queue *Q)
{
if(Q->front==Q->rear)
{
printf("Empty queue!\n");
}
else
return(Q->queue[Q->front+1]);
}
//Empty or not
void empty(queue *Q)
{
if(Q->front==Q->rear)
{
printf("Empty queue!\n");
}
else
{
printf("Not wmpty.");
}
}
//Display the queue
void display(queue *Q)
{
int i;
printf("The element in the queue:\n");
for(i=Q->front+1;i<=Q->rear;i++)
{
printf("%5c",Q->queue[i]);
}
printf("\n");
}
void main()
{
queue a;
queue *q=&a;
printf("Inital:\n");
initqueue(q);
printf("Empty?:\n");
empty(q);
printf("Enter some word:\n");
enter(q,'q');
enter(q,'w');
enter(q,'d');
enter(q,'a');
display(q);
printf("Delete one.:\n");
del(q);
display(q);
printf("The first Elem:%c\n",gethead(q));
printf("Hello!\n");
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在合肥工业大学的2010年操作系统考试考研复习中,考生需要深入理解操作系统的概念、特性和功能,并掌握其设计原理和技术。 首先,考生应了解操作系统的角色,包括它在计算机系统中的地位、发展历程以及其独特的特性...
在这个压缩包文件"【梦享团队】考研核心考点——计算机操作系统.pdf"中,很可能包含了关于操作系统考研复习的关键知识点。 1. **操作系统定义与功能** 操作系统是控制和管理计算机硬件与软件资源的程序集合,它的...
在准备2009年考研计算机学科专业基础综合考试时,考生应深入理解栈和队列的基本概念、操作以及它们在实际问题中的应用。通过练习编程题,设计和实现自己的栈和队列,可以巩固理解,并提高解决问题的能力。同时,掌握...
"天勤2019操作系统计算机考研复习指导电子版"旨在帮助考生深入理解并准备操作系统相关的考试内容。这本书可能涵盖了诸如进程管理、内存管理、文件系统、I/O系统、死锁与调度策略等关键知识点。 首先,进程管理是...
数据结构与操作系统是计算机科学中的两个核心领域,对于考研备考来说,这两个主题的理解和掌握至关重要。苏州大学2006年的计算机考研试题聚焦于这些关键知识点,旨在考察考生的基础理论知识以及问题解决能力。 首先...
这份“杭州电子科技大学-计算机-考研-初试-复试-复习知识点总结.zip”压缩包文件,包含了历年的考研复习重点,旨在帮助考生们精准把握考试脉络,提升备考效率。 一、核心课程与基础理论 1. 数据结构:作为计算机...
### 数据结构考研复习精编知识点概述 #### 一、线性表 **1.1 线性表的定义和基本操作** - **定义**:线性表是一种基本且重要的数据结构,它由一系列元素组成,这些元素按照一定的顺序排列,并且每个元素除了第一...
数据结构笔记-考研复习 数据结构是计算机科学中的一门重要学科,研究如何组织、存储和使用数据。下面是考研复习笔记中的一些重要知识点: 1. 数据结构定义:数据结构是指数据元素之间的逻辑关系、数据的运算和存储...
数据结构是计算机科学中的核心课程,对于考研复习至关重要。它主要研究如何在计算机中组织和管理数据,以便高效地进行存储、检索和处理。在这个课件中,我们将重点关注两种基本的数据结构:栈和队列。 栈(Stack)...
5. **散列表**:通过哈希函数快速查找数据,实现了高效的查找、插入和删除操作。 6. **排序算法**:如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,理解它们的原理和时间复杂度分析是必要的。 7....
2015年计算机专业考研大纲主要涵盖了四个核心领域:数据结构、计算机组成原理、操作系统和计算机网络。这些领域是计算机科学的基础,对于研究生入学考试至关重要。 在数据结构部分,大纲强调了理解基本概念,包括...
- 栈和队列:理解栈的后进先出(LIFO)和队列的先进先出(FIFO)性质。 - 树与二叉树:熟悉各种树的性质,如二叉搜索树、平衡树(AVL、红黑树)的操作。 - 图:学习图的遍历算法(深度优先、广度优先),理解最小...
这份"操作系统考研复习课件"集合了全面的学习资源,旨在帮助备考者深入理解并掌握操作系统的关键概念和机制。 首先,操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的核心...
其主要包括数组、链表、栈、队列、树、图等基本概念,以及这些数据结构上的操作算法,如排序和查找。在C语言环境下学习数据结构,可以更好地理解底层原理,因为C语言接近机器,能直接操作内存。 1. **数组**:是最...
2018数据结构考研复习指导旨在帮助备考者系统、高效地复习这一关键领域,以便在考试中取得理想的成绩。 数据结构是研究数据的逻辑表示和物理存储,以及如何在这些数据上进行有效操作的一门学科。它不仅涵盖了基本的...
对于考研复习,重点要掌握以下内容: 1. 线性结构:深入理解数组和链表的特性,包括它们的插入、删除、查找操作的时间复杂度。栈和队列的应用场景,如递归、回溯、优先队列等。 2. 树形结构:二叉树、平衡树(如...
在南邮的考研复习中,主要会涵盖以下几个关键知识点: 1. **线性结构**:如数组、链表、队列和栈。数组是最基本的数据结构,提供固定大小的存储空间;链表允许动态插入和删除,但访问速度较慢;队列是一种先进先出...