
数据结构与算法
ChambinLee
这个作者很懒,什么都没留下…
展开
-
栈的应用——十进制转二进制
利用栈结构,编写程序将十进制数转换成二进制数。提示:十进制数值转换成二进制使用辗转相除法将一个十进制数值转换成二进制数值。即用该十进制数值除以2,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的二进制数值。转换算法要求用一个函数完成。顺序栈的基本操作的代码可参考如下:#include<stdio.h>#include<stdlib.h&g...原创 2018-04-20 12:48:34 · 24061 阅读 · 2 评论 -
栈与队列——判断回文字符串
1、编程序判断一个字符序列是否是回文,要求采用链式队列和链式堆栈。提示:设字符数组str中存放了要判断的字符串。把字符数组中的字符逐个分别存入队列和堆栈,然后逐个出队列和退栈并比较出队列的字符和退栈的字符是否相等,若全部相等则该字符序列是回文,否则就不是回文。以下是程序部分代码,请调试并补充使之正确运行。1、队列的头文件#include<stdio.h> #include<s...原创 2018-04-19 19:53:12 · 13065 阅读 · 2 评论 -
栈的应用—括号匹配
3.1栈的应用—括号匹配一、实验目的 1.掌握堆栈特殊线性表的存储方式的基本操作方法。2.掌握堆栈后进先出运算原则在解决实际问题中的应用。3.掌握使用栈的原理来解决表达式中的括号配对问题。二、实验内容 假设一个算术表达式中包含圆括弧、方括弧三种类型的括弧,编写一个程序用于判别表达式中括弧是否正确配对。说明:检验表达式中的括号匹配情况:假设在一个算术表达式中,可以包含三种括号:圆括号"("和"...原创 2018-04-19 16:53:26 · 2567 阅读 · 0 评论 -
约瑟夫问题的几种解法
题目【论述题】分别用顺序表、循环链表完成约瑟夫问题(参考步骤:顺序表(链表步骤类似)//1定义数据类型#define maxsize 100 typedef struct node { .... }SeqList,*PSeqList;//定义创建顺序表函数PSeqList CreatList(int n){......}//定义删除元素函数Dele...原创 2018-03-30 07:42:08 · 1372 阅读 · 2 评论 -
队列实现循环队列
队列的基本操作一、实验目的1.掌握队列的顺序存储结构。 2.掌握队列先进先出运算原则在解决实际问题中的应用。3. 掌握自定义数据类型的用法。二、实验内容仿照资料中顺序循环队列的例子,设计一个只使用队头指针和计数器的顺序循环队列抽象数据类型。其中操作包括:初始化、入队列、出队列、判断队列是否非空。编写主函数,验证所设计的顺序循环队列的正确性。以下是队列操作函数的定义:(1)QueueInitiate...原创 2018-04-20 21:53:40 · 4343 阅读 · 2 评论