![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构笔记
润松3344
这个作者很懒,什么都没留下…
展开
-
数据结构银行排队问题
实验任务银行排队模拟程序功能假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正在空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在队伍的后面。现在需要编制一个程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。前期准备工作链式队列书写完毕带头结点单向不循环链表按顺序插入节点已掌握算法大致思路1.2个重要的数据结构事件链表原创 2021-06-03 12:51:06 · 3828 阅读 · 3 评论 -
数据结构表达式求值(C++)
实验原理代码思路使用两个顺序栈编程,一个顺序栈用来存储操作数,一个顺序栈用来存储操作符关键为表达式求值函数的编写对该函数,循环结束条件为栈顶元素为’#’,且读入的字符也为’#’循环体(1)判断是否为操作数,是操作数,则压入栈中读取下一个字符(2)是操作符,则比较操作符的优先级操作符栈栈顶元素用t1表示,读入的字符用t2表示(a)t1>t2,则t1弹出操作符栈,与此同时操作数栈弹出两个元素,进行运算操作,将结果压入操作数栈中,注意该操作不读取下一个字符(b)t原创 2021-05-25 10:14:40 · 4060 阅读 · 3 评论 -
双栈共享存储空间(C++代码实现)
理论部分理论来源:b站up主:跟懒猫老师快乐数据结构C++代码#include<iostream>using namespace std;const int STACKSIZE = 6;//两栈共享存储空间编程//使用类模板编程template<class DataType>class BothStack{private: DataType *data;//属性,顺序栈,数组 int top1, top2;//属性,top1指向栈1的栈顶,top原创 2021-05-23 11:14:11 · 1528 阅读 · 0 评论 -
约瑟夫环(杀人游戏)
问题描述:刚学数据结构的时候,我们可能用链表的方法去模拟这个过程,N个人看作是N个链表节点,节点1指向节点2,节点2指向节点3,……,节点N - 1指向节点N,节点N指向节点1,这样就形成了一个环。然后从节点1开始1、2、3……往下报数,每报到M,就把那个节点从环上删除。下一个节点接着从1开始报数。最终链表仅剩一个节点。它就是最终的胜利者。举例:某天你去原始森林玩,碰到了一群土著邀请你去玩一个杀人游戏8个人围坐一圈,报数,报到3的人拿根绳吊死,问如何保命,笑到最后思路分析:该问题可以抽象为一个原创 2021-05-04 11:06:01 · 642 阅读 · 0 评论 -
数据结构单向不循环链表实现多项式合并
多项式合并思路多项式合并P1 = 5 + 2x + 8x ^8 +3x^16P2 = 6x + 16x^6 - 8x^8P = P1 + P2 = 5 + 8x + 16x^6 + 3x^16使用带头结点的单向不循环链表每个节点分为三个部分,系数项,指数项,指针域结构体表示为struct node_st{ int exponent; int coefficient; struct node_st *next;};定义两个指针p,q,分别指向多项式P1原创 2021-05-03 20:38:52 · 171 阅读 · 0 评论 -
数据结构无头结点单向不循环链表(C语言版)
main.c(负责测试)#include <stdlib.h>#include <stdio.h>#include <time.h>#include "nohead.h"int main(){ LNode *list = NULL; struct score_st data[10],mydata,data1; int i = 0; srand((unsigned)time(NULL)); //初始化数组 for (i = 0; i < 10;原创 2021-04-29 20:31:28 · 204 阅读 · 0 评论 -
数据结构带头结点单向不循环链表(C语言版)
main.c,负责测试#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include<stdlib.h>#include "linklist.h"int main(){ LNode* list=NULL; int i = 0,err =0; datatype a = 40,return_value=0; datatype arr[] = { 20,10,90,100,50,40,20,60,70,80 };原创 2021-04-29 16:46:32 · 137 阅读 · 0 评论 -
数据结构-顺序表(C语言实现)
主函数代码(main.c)#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include "sqlist.h"int main(){ sqlist *list= NULL,*list_next= NULL; int pos = 0; int i, err, value; int arr[10] = { 10,20,30,40,50,60,70,80,90,100 }; int arr_next[10] = { 11,2原创 2021-04-26 14:18:52 · 925 阅读 · 0 评论