瓜大 数据结构NOJ
西工大数据结构题目。http://noj.nwpu.edu.cn/main/
Crystal-G
这个作者很懒,什么都没留下…
展开
-
【数据结构】NOJ020 基于图的广度优先搜索策略(耿7.11)
1. 题目示例输入4 41 2 3 41 21 31 42 32 3示例输出yes2. 代码#include <iostream>#include <queue>using namespace std;typedef struct node{ int data; struct node* next;}EdgeNode;typedef struct{ int data; EdgeNode *head;}VexList;type原创 2021-06-19 21:23:21 · 253 阅读 · 0 评论 -
【数据结构】NOJ026 二叉排序树的合并(严9.38)
1. 题目示例输入12 8 4 -1 -1 10 -1 -1 16 13 -1 -1 18 -1 -117 6 2 -1 -1 9 -1 -1 24 19 -1 -1 26 -1 -1示例输出2 4 6 8 9 10 12 13 16 17 18 19 24 262. 代码#include <iostream>using namespace std;typedef struct tree{ int data; struct tree *lc, *rc;}TNod原创 2021-06-19 18:05:39 · 291 阅读 · 0 评论 -
【数据结构】NOJ025 二叉排序树的插入和删除(严9.35、9.36和9.37)
1. 题目示例输入12 8 4 -1 -1 10 -1 -1 16 13 -1 -1 18 -1 -110 17612示例输出12 13 164 6 8 10 12 13 16 184 8 10 13 16 182. 代码#include <iostream>using namespace std;typedef struct tree{ int data; struct tree *lc, *rc;}Tree;Tree* CreateTree(){原创 2021-06-19 18:03:05 · 222 阅读 · 0 评论 -
【数据结构】NOJ019 基于图的深度优先搜索策略(耿7.10)
1. 题目示例输入4 41 2 3 41 21 31 42 32 3示例输出yes2. 代码#include <stdio.h>#include <stdlib.h>typedef struct edgeNode{ int endvex; struct edgeNode *nextedge;}EdgeNode;typedef struct vexNode{ int vertex; EdgeNode* edgeList;}VexNod原创 2021-06-17 21:43:16 · 280 阅读 · 0 评论 -
【数据结构】NOJ018 建立二叉树的二叉链表
1. 题目示例输入ABDFGCEHBFDGACEH示例输出FGDBHECA2. 代码前序序列和中序序列可以确定一个二叉树。(yysy,我的这个代码如果遇到中间有两个相同字母的应该就不对了orz,先就这样吧)//ABDFGCEH//BFDGACEH#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct node{ char data; struct原创 2021-06-17 17:53:27 · 359 阅读 · 0 评论 -
【数据结构】NOJ017 输出以二叉树表示的算术表达式(严6.51)
1. 题目示例输入*+a(###b#)##c##示例输出(a+b)*c2. 代码//*+a(###b#)##c###include <stdio.h>#include <stdlib.h>typedef struct node{ char data; struct node *lchild; struct node *rchild;}BTree;BTree *createBTree(){ char c = getchar(); if(c ==原创 2021-06-17 16:35:45 · 212 阅读 · 0 评论 -
【数据结构】NOJ016 计算二叉树叶子结点数目(耿6.14)
1. 题目示例输入ABD##EH###CF#I##G##示例输出42. 代码及思路看到这个题目的第一想法,就是找两个相邻的“#”(考试不得分的想法。。)于是就敲了以下代码。#include <iostream>#include <string>using namespace std; int main(int argc, char** argv) { string str; int cnt = 0; cin >> str; int原创 2021-06-17 16:15:59 · 234 阅读 · 0 评论 -
【数据结构】NOJ024二叉排序树的判别(耿8.6)
1. 题目示例输入12 8 4 -1 -1 10 -1 -1 16 13 -1 -1 18 -1 -1示例输出yes2. 代码//12 8 4 -1 -1 10 -1 -1 16 13 -1 -1 18 -1 -1#include <iostream>using namespace std; typedef struct Node{ int data; struct Node *lchild, *rchild;}BinNode;//题目要求的是前序输入 B原创 2021-05-31 16:58:22 · 332 阅读 · 0 评论 -
【数据结构】NOJ023 构造哈希表(耿8.12)
1. 题目2. 代码对付这种题目,最简单的办法:#include <iostream>using namespace std; int main(int argc, char** argv) { cout << "2"<< endl; return 0;}比较傻的办法(手动狗头#include <iostream>using namespace std; bool h[11] = {false}; //散列地址是否被原创 2021-05-31 16:18:39 · 291 阅读 · 0 评论 -
【数据结构】NOJ014 求广义表深度(严5.30)
1. 题目示例输入((a,b,(c,(d,e),f)),g)示例输出442. 代码先写个不符合题目要求的简单代码完成作业,,,有时间再按要求填坑。#include <iostream>#include <string>using namespace std; // 用一个极其不符合题意的简单方法int main(){ string str; int tmp = 0, max = 0; cin >> str; int len = s原创 2021-04-12 00:58:04 · 570 阅读 · 0 评论 -
【数据结构】NOJ013 以十字链表为存储结构实现矩阵相加(严5.27)
1. 题目示例输入3 4 3 21 1 11 3 12 2 21 2 12 2 3示例输出1 1 11 2 11 3 12 2 52. 代码在这里插入代码片原创 2021-04-12 00:20:48 · 997 阅读 · 0 评论 -
【数据结构】NOJ012 以三元组表为存储结构实现矩阵相加(耿5.7)
1. 题目2. 代码//3 3//1 2 3//3 2 1//3 4 2//1 1 4//3 2 5//3 4 1#include <iostream>using namespace std; typedef int Elemtype;typedef struct{ int row, col; Elemtype e;}Triple;int main(int argc, char** argv) { int t1, t2; cin >>原创 2021-04-11 20:19:13 · 302 阅读 · 0 评论 -
【数据结构】NOJ011 循环右移(耿5.2)
1.题目2. 代码快速完成任务的方法#include <iostream>using namespace std; int main(int argc, char** argv) { int a[100], n, k; cin >> n >> k; k = k%n; for(int i=0; i<n; i++){ cin >> a[i]; } //直接输出 for(int i=n-k; i<n; i++){原创 2021-04-11 12:56:35 · 296 阅读 · 0 评论 -
【数据结构】NOJ010 k阶斐波那契数列
1. 题目2. 代码原创 2021-04-11 11:37:59 · 281 阅读 · 0 评论 -
【数据结构】NOJ009 循环队列
1. 题目示例输入53 4 6 2 7yes //这个yes真是莫名其妙4示例输出6 2 762.代码这篇简单介绍了一下循环队列:数据结构之循环队列主要参考这个学姐的代码:【数据结构】NOJ009 循环队列#include <iostream>using namespace std;typedef int ElemType;typedef struct node{ ElemType* val; int n; int length原创 2021-04-06 15:17:31 · 358 阅读 · 0 评论 -
【数据结构】NOJ008 逆波兰表达式
1. 题目2. 代码这一次的代码我终于没有完全参考其他人的了!而且AC得很顺利!(当然,幸好上课发呆的空隙听了一下讲,大概知道思路)但是代码写的确实不好看,果然还是应该单独判断优先级的。//(a+b)*c#include <iostream>#include <stack>#include <string>using namespace std;int main(){ string str; char tmp; stack<char&原创 2021-04-05 21:10:46 · 424 阅读 · 0 评论 -
【数据结构】NOJ007表达式符号匹配(严3.19)
1. 题目2. 代码最近热衷于写bug(???到底谁会热衷于这个),感受到了调试的乐趣(你怕不是在做梦orz,头都大了)看起来好像一目了然(还不错的样子)//[5+(6-3)]-(2+3)#include <iostream>#include <stack>#include <string> using namespace std;bool match(char left, char right){ if((left == '(' &原创 2021-04-03 00:36:57 · 437 阅读 · 0 评论 -
【数据结构】NOJ006 LOCATE操作(严2.38)
1. 题目2. 代码题目没有说明白freq相同时应该放在后面还是前面,经过亲身经验,放在后面能AC,放在前面是WA。(为什么我会知道呢,因为我就是那个放在前面找不到bug的憨憨)//7 1//a b c d e f g//d#include <iostream>#include <malloc.h>using namespace std;typedef struct node{ char data; struct node *pre; struct原创 2021-04-02 17:37:03 · 436 阅读 · 1 评论 -
【数据结构】NOJ001 顺序表的插入运算
1. 题目2. 代码//7//2 3 4 5 6 7 8//1#include <iostream>#include <malloc.h>using namespace std; typedef struct node{ int data; struct node *next;}Node;void createList(Node *head, int n);void insertList(Node *head, int x);void outpu原创 2021-03-31 16:21:16 · 227 阅读 · 0 评论 -
【数据结构】NOJ005 单链表的删除(严2.29)
1. 题目2. 代码先用数组写,之后有时间按要求写补上。/*8 5 61 2 3 4 5 6 6 72 3 5 9 122 4 5 6 12 13*/#include <iostream>using namespace std;int main(int argc, char** argv) { int m, n, p; int quit=0; int q=0, i=0, j=0; int a[100], b[100], c[100]; cin >&g原创 2021-03-26 17:43:45 · 411 阅读 · 0 评论 -
【数据结构】NOJ004 单链表的归并
1. 题目2. 代码先用数组写,之后有时间再用链表写。/*5 52 6 7 13 201 3 7 12 16*/#include <iostream>using namespace std; int main(int argc, char** argv) { int m, n; int a[100], b[100]; cin >> m >> n; int i, j; i = m-1; j = n-1; for(int i=0; i原创 2021-03-26 17:40:44 · 193 阅读 · 0 评论 -
【数据结构】NOJ003 顺序表的删除(严2.29)
1. 题目2. 代码数组方式/*8 5 61 2 3 4 5 6 6 72 3 5 9 122 4 5 6 12 13*/#include <iostream>using namespace std;int main(int argc, char** argv) { int m, n, p; int quit=0; int q=0, i=0, j=0; int a[100], b[100], c[100]; cin >> m >>原创 2021-03-25 23:10:38 · 339 阅读 · 0 评论 -
【数据结构】NOJ002 线性表的就地逆置(耿2.9)
1. 题目2. 代码#include <iostream>#include <malloc.h>using namespace std;typedef struct node{ int data; node* next;}Node;void readnum(int n, int* a, Node* head);void reverseArray(int* a, int n);void reverseList(Node* head);void outpu原创 2021-03-25 22:03:41 · 387 阅读 · 0 评论