数据结构
小灰灰呀!
这个作者很懒,什么都没留下…
展开
-
小猫钓鱼——栈、队列的应用(C++)
一、游戏规则:将一副扑克牌(假设牌面只有1~9)平均分成两份,每人拿一份。小哼先拿出手中的第一张扑克牌放在桌子上,然后小哈也拿出手中的第一张扑克牌,放在小哼刚打出的扑克牌的上面,就这样两人交替出牌。出牌时,如果某人打出的扑克牌与桌面上某张扑克牌的牌面相同,即将两张相同的扑克牌及中间所夹的牌全部取走,依次放在自己手中牌的末尾。当任意一人手中的牌全部出完时,游戏结束,对手获胜。假如游戏开始时,小哼手中有6张牌,顺序为2、4、1、2、5、6,小哈手中也有6张牌,顺序为3、1、3、5、6、4,最终谁会获胜呢原创 2022-03-06 22:36:29 · 4305 阅读 · 0 评论 -
数据结构基础(C语言)———动态顺序表创建串模型
通过动态顺序表创建串模型,并实现串的抽象类型及方法如下:typedef struct str{char * ch;//指向malloc申请的连续内存int length;//串长}String;(a)串的赋值StrAssign(String *s,chars)与复制StrCopy(String * s,String T)(b)求串长StrLength(T)(c)比较两个字符串大小StrCompare(S,T)(d)字符串连接Concat(T,S1,*S2)//将S1,S2原创 2021-10-25 10:55:16 · 738 阅读 · 0 评论 -
数据结构基础(C语言)———链队列
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef int ElemType;typedef int status;typedef struct Qnode//链表结点 { ElemType data;//数据域 struct Qnode *next;//指向下一个结点 }Qnode;typedef struct link_queue//链队{ Qnode .原创 2021-10-25 10:53:21 · 157 阅读 · 0 评论 -
数据结构基础(C语言)———顺序队列
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define MAX_QUEUE_SIZE 4 typedef int ElemType;typedef int status;typedef struct queue{ ElemType Queue_array[MAX_QUEUE_SIZE]; int front; int rear;}SqQueue;//1.初始化队列.原创 2021-10-25 10:52:40 · 140 阅读 · 0 评论 -
数据结构例题(C语言)——纸牌问题
桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n。当至少还剩三张牌时进行以下操作:把第一、二张牌扔掉,然后把当前状态下新的第一张放到整叠牌的最后。输入n,输出每次扔掉的牌,以及最后剩下的牌。 输入输出样例如下:输入4第一次:扔掉1,2从顶向底最后剩下:4,3#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef int ElemType;typed原创 2021-10-25 10:51:46 · 1540 阅读 · 0 评论 -
数据结构例题(C语言)——括号匹配修改
表达式合法判断并将不合法的括号修改合法(括号包括()小括号[]中括号{}大括号)。#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define MAX_SIZE 10#define INIT_SIZE 10typedef char ElemType;typedef int status;typedef struct Lnode{ ElemType *top;//栈...原创 2021-10-25 10:49:15 · 464 阅读 · 1 评论 -
数据结构例题(C语言)——行编辑程序
要求:整体输入,调整内容后整体输出(其中#退格,@代表退行)。#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define MAX_SIZE 5#define INIT_SIZE 2typedef char ElemType;typedef int status;typedef struct Lnode{ ElemType *top;//栈顶指针 El...原创 2021-10-25 10:48:20 · 724 阅读 · 0 评论 -
数据结构基础(C语言)———链栈
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR -1typedef int ElemType;typedef int status;typedef struct Lnode{ ElemType data;//数据域 struct Lnode *next;//指针域}Lnode;//节点类型//1.栈的初始化status Init_Stack(Lno...原创 2021-10-25 10:47:00 · 91 阅读 · 0 评论 -
数据结构基础(C语言)———动态顺序栈
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define MAX_SIZE 5#define INIT_SIZE 2typedef int ElemType;typedef int status;typedef struct Lnode{ ElemType *top;//栈顶指针 ElemType *base;//栈底指针 int max;//最...原创 2021-10-25 10:46:05 · 153 阅读 · 0 评论 -
数据结构例题(C语言)——猴子选大王
n只猴子要选大王,选举办法如下:所有猴子按1、2、3、……、n编号围坐一圈,从第1号开始按照1、2、3、……、m报数,凡报m号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。n和m由键盘输入,打印出最后剩下的猴子号码。要求:必须用单向循环链表实现。#include<stdlib.h>#include<stdio.h>#define OK 1#define ERROR -1typedef int ElemType;typedef int St.原创 2021-10-08 16:13:12 · 4503 阅读 · 5 评论 -
数据结构基础(C语言)———动态顺序表
动态顺序表Typedef struct SqList{ElemType * p; //指向顺序表的首地址Int Length; //代表线性表长度Int Max; //代表当前顺序表实际容量}SqList;要求:抽象方法设计:(0)顺序表的初始化ListInit(SqList * L)(1)顺序表的尾部插入单个元素函数(注意:当线性表长度超出容量,则每次多开辟5个内存单位)PushByTail(SqList * L,ElemType e)(2)顺序表的输出函数disp原创 2021-10-07 22:16:41 · 442 阅读 · 0 评论 -
数据结构基础(C语言)——链序表
1. 完成单链表的如下设计:抽象方法包括:单链表的整表创建。单链表的第i个位置插入元素。单链表的第i个位置删除元素。单链表的按值查询。单链表的整表输出。单链表的整表删除。主函数中需要调用以上方法以演示运行结果。代码实现:#include<stdlib.h>#include<stdio.h>#define OK 1#define ERROR -1#define MAX_SIZE 100typedef int ElemType;ty原创 2021-10-07 13:24:22 · 410 阅读 · 0 评论