考研数据结构代码
末世灯光
这个作者很懒,什么都没留下…
展开
-
数据结构——循环队列的基本操作
InitQueue(&Q): 初始化队列QQueueEmpty(): 判断队列是否为空EnQueue(e): 将元素e放入队尾DeQueue(e): 移走队头元素,由e带回该元素的值GetFront(): 获取队头元素的值,但不从队列中移走该元素Length(): 计算并返回队列中元素的个数#include <stdio.h>#include <stdlib.h>typedef struct{ int *base; int front;原创 2020-08-21 13:22:49 · 1695 阅读 · 0 评论 -
数据结构——链队列的基本操作
InitQueue(&Q): 初始化队列QQueueEmpty(): 判断队列是否为空EnQueue(e): 将元素e放入队尾DeQueue(e): 移走队头元素,由e带回该元素的值GetFront(): 获取队头元素的值,但不从队列中移走该元素Length(): 计算并返回队列中元素的个数#include <stdio.h>#include <stdlib.h>typedef struct QNode{ int data; stru原创 2020-08-20 17:51:25 · 1852 阅读 · 0 评论 -
数据结构——顺序栈的基本操作
栈的基本运算InitStack(&S): 初始化栈SStackEmpty(): 判断栈是否为空Push(e): 将元素e放入栈顶Pop(e): 移走栈顶的元素,同时由e带回该元素的值Gettop(): 获取栈顶的元素,但不从栈中移走#include <stdio.h>#include <stdlib.h># define STACK_INIT_SIZE 100# define STACKINCREMENT 10typedef struct {原创 2020-08-19 16:57:05 · 1772 阅读 · 0 评论 -
数据结构——约瑟夫环(Joseph Circle)
问题描述: 编号为1,2,...,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的人全部出列为止。 请编写程序求出圈的顺序。#include <stdio.h>#include <stdlib.h>typedef struct n...原创 2020-08-19 15:55:51 · 1370 阅读 · 9 评论 -
数据结构——单链表-有序合并算法
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int n,int arr[]){ L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; LNode *r; r = L; for(in.原创 2020-08-16 17:02:35 · 345 阅读 · 0 评论 -
数据结构——单链表-不带头结点尾插法
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int n){ LNode *r; r = NULL; L = NULL; for(int i =1;i<=n;i++){ LNode *p = (LinkList)malloc(s...原创 2020-08-15 17:14:43 · 2936 阅读 · 1 评论 -
数据结构——单链表-带头结点尾插法
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int n){ L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; LNode *r; r = L; for(int i =1;i...原创 2020-08-15 17:13:03 · 626 阅读 · 0 评论 -
数据结构——单链表-头插法(带头结点)
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int n){ L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; for(int i =n;i>0;i--){ LNode *.原创 2020-08-13 17:00:36 · 398 阅读 · 0 评论 -
数据结构——单链表-删除操作
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int a[],int n){ LNode *r; LNode *p; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; r = L.原创 2020-08-12 16:48:05 · 1917 阅读 · 0 评论 -
数据结构——单链表-插入算法
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int a[],int n){ LNode *r; LNode *p; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; r = L.原创 2020-08-12 16:47:15 · 1549 阅读 · 0 评论 -
数据结构——单链表-查找算法
#include<stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode, *LinkList;void creatL(LinkList &L,int a[],int n){ LNode *r; LNode *p; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; r = L.原创 2020-08-12 16:46:26 · 1128 阅读 · 0 评论 -
数据结构——顺序表-合并算法
#include<stdio.h>#include <malloc.h>#define SIZE 100#define INCREMENT_SIZE 10typedef struct{ int *elem; int length; int listsize;}Sqlist;bool InintList_Sq(Sqlist &L){ L.elem = (int*)malloc(SIZE*sizeof(int)); if(!L.elem) r.原创 2020-08-10 15:38:28 · 1361 阅读 · 0 评论 -
数据结构——顺序表-删除算法
#include<stdio.h>#include <malloc.h>#define SIZE 100#define INCREMENT_SIZE 10typedef struct{ int *elem; int length; int listsize;}Sqlist;bool InintList_Sq(Sqlist &L){ L.elem = (int*)malloc(SIZE*sizeof(int)); if(!L.elem) r.原创 2020-08-09 22:40:01 · 3774 阅读 · 1 评论 -
数据结构——顺序表-插入算法
#include<stdio.h>#include <malloc.h>#define SIZE 100#define INCREMENT_SIZE 10typedef struct{ int *elem; int length; int listsize;}Sqlist;bool InintList_Sq(Sqlist &L){ L.elem = (int*)malloc(SIZE*sizeof(int)); if(!L.elem) r.原创 2020-08-09 22:38:56 · 3390 阅读 · 1 评论