
数据结构
学习过程中的码的题
_77777
希望通过优快云记录自己技术成长的点点滴滴
展开
-
一元多项式
#include<stdlib.h>#include<stdio.h>#include<malloc.h>#define ERROR 0;#define OK 1;#define FLASE 0;#define TURE 1;#define OVERFLOW -2;typedef struct LNode{ float xs; int zs; struct LNode * next;}LNode,*LinkList;void create(原创 2021-01-19 12:43:30 · 162 阅读 · 0 评论 -
最小生成树
#include<stdio.h>#include<stdlib.h>#include <iostream>#include <vector>#include <algorithm>using namespace std;#define INFINITE 0xFFFFFFFF #define VertexData unsigned int //顶点数据#define UINT unsigned int#define vex原创 2021-01-19 12:41:53 · 91 阅读 · 0 评论 -
关键路径
//关键路径#include<stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1#define MAX_VERTEX_NUM 20#define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACK_INCREMENT 10 //存储空间分配增量#define OVER原创 2021-01-19 12:40:42 · 131 阅读 · 0 评论 -
拓扑排序
//拓扑排序#include<stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1#define MAX_VERTEX_NUM 20#define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACK_INCREMENT 10 //存储空间分配增量#define OV.原创 2021-01-19 12:39:18 · 122 阅读 · 0 评论 -
连通图的关节点
#include<stdio.h> #include<stdlib.h>#define ERROR 0#define OK 1#define MAX_VERTEX_NUM 20typedef int Status;typedef char VertexType; typedef struct ArcNode{ //弧信息的结构 int adjvex;原创 2021-01-19 12:37:36 · 192 阅读 · 0 评论 -
数据结构例1.已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素
//已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素//(其中n与elem从键盘输入)# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const maxn = 1000 + 10;typedef struct node{ int *arr; int length; int maxsize;}sqlist;vo原创 2021-01-18 11:01:40 · 3446 阅读 · 6 评论 -
数据结构例2.已知顺序表L长度为n,试编写算法实现在顺序表中值为elem的数据元素的后面插入一个值为key的数据元素 (其中n、elem与key从键盘输入且顺序表的数据元素的值互不相同)
/*2.已知顺序表L长度为n,试编写算法实现在顺序表中值为elem的数据元素的后面插入一个值为key的数据元素(其中n、elem与key从键盘输入且顺序表的数据元素的值互不相同)*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const int maxn = 1000 + 10;typedef struct node{ int * a原创 2021-01-18 11:00:34 · 834 阅读 · 0 评论 -
数据结构例4.已知二个集合la与lb,采用顺序结构存储,其中la={a1,a2,…an},lb={b1,b2,…,bm}, 试设计一个算法将其合并到一个顺序表lc中
/*4.已知二个集合la与lb,采用顺序结构存储,其中la={a1,a2,…an},lb={b1,b2,…,bm},试设计一个算法将其合并到一个顺序表lc中*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const int maxn = 1000 + 10;typedef struct node{ int *arr; int leng原创 2021-01-18 10:58:49 · 697 阅读 · 0 评论 -
数据结构例5.已知一个顺序表la,其中la={a1,a2,…an}, 试设计一个算法将其从小到大进行排序 ,再输出
/*5.已知一个顺序表la,其中la={a1,a2,…an},试设计一个算法将其从小到大进行排序 ,再输出*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const int maxn = 1000 + 10;typedef struct node{ int *arr; int length; int maxsize;}sqlis原创 2021-01-18 10:57:53 · 694 阅读 · 0 评论 -
数据结构例6.已知二个顺序la与lb,其中la={a1,a2,…an},lb={b1,b2,…bm}, 试设计一个算法 将它们合并到顺序表lc中,且lc仍然有序,再输出 。
/*6.已知二个顺序la与lb,其中la={a1,a2,…an},lb={b1,b2,…bm}, 试设计一个算法将它们合并到顺序表lc中,且lc仍然有序,再输出 。*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const int maxn = 1000 + 10;typedef struct node{ int *arr; int原创 2021-01-18 10:56:54 · 721 阅读 · 1 评论 -
数据结构例3.已知顺序表{a0,a1,a2,…,an-1},且每个元素都是不相同的, 试设计一个算法把所有的奇数移到所有的偶数的前面。
/3.已知顺序表{a0,a1,a2,…,an-1},且每个元素都是不相同的,试设计一个算法把所有的奇数移到所有的偶数的前面。/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;const int maxn = 1000+10;typedef struct node{ int * arr; int length; int maxsize;}原创 2021-01-18 10:55:46 · 1947 阅读 · 0 评论 -
数据结构例7.设计一个算法,以先进先出的方式 创建一个带头结点的单向链表,并输出
/*7.设计一个算法,以先进先出的方式创建一个带头结点的单向链表,并输出*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*Linklist;void inlinklist(Linklist &l, int n){ l =原创 2021-01-17 11:56:53 · 786 阅读 · 0 评论 -
数据结构例8.设计一个算法,以后进先出的方式 创建一个带头结点的单向链表,并输出
/*8.设计一个算法,以后进先出的方式创建一个带头结点的单向链表,并输出*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node *next;}*Linklist;void inlinklist(Linklist &l, int n){ l =原创 2021-01-17 11:56:01 · 561 阅读 · 0 评论 -
数据结构例10.设计一个算法,以后进先出的方式 创建一个带头结点的双向链表,并输出 。
/*10.设计一个算法,以后进先出的方式创建一个带头结点的双向链表,并输出 。*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node* prior; struct Node* next;}*Linklist;void inlinklist(Linkli原创 2021-01-17 11:55:03 · 417 阅读 · 0 评论 -
数据结构例12.已知二个单链表有序链表la与lb,其中la={a1,a2,…an},lb={b1,b2,…bm}, 试设计一个算法将它们合并到单链表lc中,且lc仍然有序,再输出 。
/*12.已知二个单链表有序链表la与lb,其中la={a1,a2,…an},lb={b1,b2,…bm},试设计一个算法将它们合并到单链表lc中,且lc仍然有序,再输出 。*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node { int elem; struct Node *next;}*linkl原创 2021-01-17 11:43:26 · 1578 阅读 · 0 评论 -
数据结构例13.设计一个算法实现在带头结点的单向链表中 删除给定值的结点。(链表中的数据元素值均不相同)
/*13.设计一个算法实现在带头结点的单向链表中删除给定值的结点。(链表中的数据元素值均不相同)*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linklist &l, i原创 2021-01-17 11:42:13 · 1602 阅读 · 0 评论 -
数据结构例16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序。
/*16.试设计一个算法,使得在一个有序的单链表中插入一个元素后仍然有序。*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node { int elem; struct Node *next;}*linklist;void inlinklist(linklist &l, int n){原创 2021-01-17 11:39:54 · 4496 阅读 · 1 评论 -
数据结构例9.编写一个算法,将带头结点的单向链表 拆分成一个奇数链表和一个偶数链表,并分别输出
/*编写一个算法,将带头结点的单向链表拆分成一个奇数链表和一个偶数链表,并分别输出*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linklist &l, int n )原创 2021-01-17 11:38:34 · 1836 阅读 · 0 评论 -
已知一个单链表lc={a1,b1,a2,b2….,an,bn} 共2n个元素,设计一个算法将其拆分成二个带头结点的单向链表la 与lb,其中la={a1,a2,.an},lb={b1,b2,..bn}
/*已知一个带头结点的单链表lc={a1,b1,a2,b2….,an,bn}共2n个元素,试设计一个算法将其拆分成二个带头结点的单向链表la 与lb,其中la={a1,a2,…an},lb={b1,b2,…,bn}*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct原创 2021-01-17 11:37:30 · 1724 阅读 · 0 评论 -
数据结构例11.单向链表的合并
/*已知二个带头结点的单向链表la 与lb,其中la={a1,a2,…an},lb={b1,b2,…,bn}, 试设计一个算法将其合并到一个带头结点的单链表lc中,且lc={a1,b1,a2,b2….,an,bn}*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct原创 2021-01-16 20:32:26 · 262 阅读 · 0 评论 -
数据结构例14.试编写算法创建一个带头结点的单向循环链表la={a1,a2,…an}, 并从指定的结点序号起输出循环链表。
/*试编写算法创建一个带头结点的单向循环链表la={a1,a2,…an},并从指定的结点序号起输出循环链表。*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linklist &am原创 2021-01-16 20:31:16 · 823 阅读 · 3 评论 -
数据结构例15.已知带头结点的单链表la={a1,a2,…an},试编写一个算法 将值重复的结点删除,使所得的结果表中的值均不相同。
/*已知带头结点的单链表la={a1,a2,…an},试编写一个算法将值重复的结点删除,使所得的结果表中的值均不相同。*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node *next;}*Linklist;void inlinklist(原创 2021-01-16 20:29:57 · 2483 阅读 · 1 评论 -
数据结构例17.有一有序的单向链表(允许出现值相同的结点),试设计一个算法 将值重复的结点删除,使所得的结果表中的值均不相同。
/有一有序的单向链表(允许出现值相同的结点),试设计一个算法将值重复的结点删除,使所得的结果表中的值均不相同。/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node *next;}*Linklist;void inlinklist(Linklis原创 2021-01-16 20:28:59 · 1870 阅读 · 1 评论 -
数据结构例18.将单链表中值最小的那个结点删除
/*14.试设计一个算法,将单链表中值最小的那个结点删除*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linklist &l, int n){ l = (linkli原创 2021-01-16 20:27:33 · 421 阅读 · 0 评论 -
数据结构例19.将单链表中值最大的那个结点删除
/*试设计一个算法,将单链表中值最大的那个结点删除*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linklist &l, int n){ l = (linklist)原创 2021-01-16 20:26:30 · 1999 阅读 · 0 评论 -
数据结构例20.将单链表拆分成字母字符链表和数字字符链表
/*已知一个带头结点的单链表lc中结点数据元素类型为字符型数据,主在包括二类字符(字母字符与数字字符),试设计一个算法,将lc拆分成二个链表la与lb,其中la的数据为字母字符,lb的数据为数字字符。*/# include <iostream># include <stdlib.h># include <stdio.h># include <string.h>using namespace std;typedef struct Node原创 2021-01-16 20:25:04 · 1901 阅读 · 0 评论 -
数据结构例21.设单链表的前二个结点值为均为1, 从第三个结点开始,结点值为前二个结点值之和, 试设计一个具有n(25>n>=3)个结点的单向链表, 并输出。
/*设单链表的前二个结点值为均为1,从第三个结点开始,结点值为前二个结点值之和,试设计一个具有n(25>n>=3)个结点的单向链表,并输出。*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;const int maxn = 100;typedef struct Node{ int elem; struct Node* next;原创 2021-01-16 20:22:17 · 231 阅读 · 0 评论 -
数据结构例22.判断s1是否是s2的子串
/*从键盘上输入二个定长串s1与s2,试编写一个算法判断s1是否是s2的子串,如果是则输出1否则输出0*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;const int maxn = 100 + 10;typedef char sstring[maxn];void createstring(sstring s, char* str){原创 2021-01-16 20:20:47 · 1792 阅读 · 2 评论 -
数据结构例23.将十进制转换成对应进制
/*从键盘上输入一个十进制数n,试编写一个算法,将其转换成对应的p进制输出(p为2.8.16)*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;const int maxn = 1000 + 10;typedef struct Stack{ int *base; int *top; int stacksize;}sqstack;原创 2021-01-16 20:16:16 · 1050 阅读 · 0 评论 -
数据结构例24.判断所输入的括号是否匹配
/*从键盘上输入一串括号组成的字符串,试编写一个算法,判断所输入的括号是否匹配,如匹配输出1否则输出0*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;const int maxn = 1000 + 10;typedef struct Stack{ char *base; char *top; int stacksize;}sqs原创 2021-01-15 20:31:47 · 1708 阅读 · 2 评论 -
数据结构例25.求二叉树的叶子结点数并输出所有的叶子结点
/*假设二叉树采用二叉链表存储结构,试设计一个算法求二叉树的叶子结点数并输出所有的叶子结点*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;int ans = 0;typedef struct Bitree{ char data; struct Bitree* lchild; struct Bitree* rchild;}*bit原创 2021-01-15 20:30:51 · 5395 阅读 · 2 评论 -
数据结构例26.求二叉树的高度
*/假设二叉树采用二叉链表存储结构,试设计一个算法求二叉树的高度并给出指定结点的所在的层数(高度)*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Bitree{ char data; struct Bitree* lchild; struct Bitree* rchild;}*bitree;void原创 2021-01-15 20:29:57 · 1914 阅读 · 0 评论 -
数据结构例27.设计一个算法,以先进先出的方式 创建一个带头结点的双向链表,并输出 。
/*9.设计一个算法,以先进先出的方式创建一个带头结点的双向链表,并输出 。*/# include <iostream># include <stdio.h># include <stdlib.h>using namespace std;typedef struct Node{ int elem; struct Node *next; struct Node *prior;}*linklist;void inlinklist(linklis原创 2021-01-17 11:44:39 · 477 阅读 · 0 评论 -
数据结构例28.将单链表中的元素逆置
/*已知单链表la={a1,a2,…an},试编写一个算法,将la中的元素进行逆置,即la={an,an-1,…a1}*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node *next;}*Linklist;void inlinklist(原创 2021-01-15 20:28:01 · 1891 阅读 · 0 评论 -
数据结构例29.已知一个(head)单链表la,其中la={a1,a2,…an}, 试设计一个算法将其中从小到大进行排序 ,再输出
/*11.已知一个(head)单链表la,其中la={a1,a2,…an},试设计一个算法将其中从小到大进行排序 ,再输出*/# include <iostream># include <stdlib.h># include <stdio.h>using namespace std;typedef struct Node{ int elem; struct Node* next;}*linklist;void inlinklist(linkl原创 2021-01-17 11:47:50 · 637 阅读 · 0 评论