数据结构测试卷
发表于|更新于
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: insistgang
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leo的笔记本!
相关推荐
2022-08-10
第二章栈和队列
第二章栈和队列栈的基本操作123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990const int maxSize=100010;//顺序栈typedef struct{ ElemType data[maxSize];//存放栈中元素 int top;//存放栈顶指针}SqStack;/*链式栈 入栈和出栈都在表头执行,相当于只处理表头一端的单链表出栈:相当于删除链表的一个结点入栈:相当于头插法插入结点*/typedef struct LinkNode{ ElemType data; struct LinkNode *next;}*LiStack;/*共享栈:利用栈底位置相对不变的特性,让两个顺序栈共享一个数组空间,将两个栈底设置在数...
2022-08-10
第六章查找
六、查找顺序查找123456int Search(int a[],int n,int k){ for(int i = 1;i <= n; ++i) if(a[i] == k) return 1; return 0;} 折半查找(二分查找)时间复杂度: 12345678910111213int BSearch(int a[],int l,int r,int k){ int mid; while(l < r){ mid = (l + r) / 2; if(a[mid] == k) return mid; if(a[mid] > k) r = mid - 1; else l = mid + 1; } return 0;} 分块查找时间复杂度: 123456789101112131415161718192021222...
2022-08-10
第一章线性表
第一章线性表线性表的操作123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175#include<cstdio>#include<iostream>using namespace std;co...
2022-08-10
第五章图
第五章图邻接矩阵基本思想:vexNum表示顶点数量,arcNum表示边数量,edges表示边(1或者权值) 1234struct MGraph{ int edge[Maxn][Maxn];//存储边 edge[i][j]=MAXN 表示两个顶点不通 int vexNum,arcNum;}; 邻接表123456789101112struct ArcNode{ //边结构 int adjvex;//顶点编号一条边里 被指向的那个顶点 ArcNode *next;//指针};struct VNode{ //顶点结构 int data;//顶点信息 ArcNode *firstarc;};struct AGraph{ //表 VNode adjlist[Maxn];//存储所有顶点链表 存了所有顶点 以及他们所指向的边 int vexNum,arcNum;}; 图的遍历图的深度优先遍历思想:1.首先,访问开始结点从起始结点开始任选一个相邻并未被访问的结点,访问; 2.接着,把找到的结点作为...
2022-08-10
第三章串数组广义表
第三章串数组广义表大于输入年份且四位不同的数字123456789101112131415161718192021222324252627282930313233343536#include<iostream>using namespace std;int y;int cnt[4];int vis[10];void change(int year){ int n=year; int i=0; while(n){ cnt[i++]=n%10; n/=10; }}bool check(int year){ change(year); for(int i=0;i<10;i++) vis[i]=0; for(int i=0;i<4;i++) if(vis[cnt[i]]==0) vis[cnt[i]]=1; else{ return false; ...
2022-08-10
数据结构第一次习题课
第一次习题课阶乘和123456789101112131415161718int cal(int x){ int cal=1; for(int i=2;i<=x;i++){ cal*=x; } return cal;}int fun(LinkList L){ LNode p=L->next; int ans=0; while(p){ ans+=cal(p->data); p=p->next; }} 数组在长度为N的数组arr中,将小于等于arr[0]的数放在数组的左半部分,大于arr[0]的放在右半部分, arr[0]介于中间,输出处理后的数组 123456789101112131415161718192021222324#include<iostream>using namespace std;const int N=100010;int arr[N];int main()...
评论
ValineDisqus



