单链表基本运算(运用递归算法) #include<iostream.h>typedef int ElemType;typedef struct LNode{ElemType data; //存放结点数据struct LNode *next; //指向下一个同类型节点指针}linklist; //单链表节点类型//1.建立链表void jianli(linklist *&L,int W) //创建n个结点{if(W0) //此时传进去的是第一个结点的指针return ;else{//
队列的基本运算 #include<iostream.h>#define maxsize 5typedef char ElemType;typedef struct{ElemType data[maxsize]; //存放队中元素int front,rear; //队头和队尾指针}SqQueue;//1.初始化环形队列void chushi(SqQueue *&q){q=new SqQueue;q->front=q->rear=0;}//2.判断队列是否为空b
复数之间(加减乘除运算) #include<iostream.h>typedef struct{double real; //复数实部double imag; //复数虚部}complex;//初始化复数void Initcomplex(complex *&z) //形参Z是一个引用型指针{z=new complex; //分配一块新的储存空间}//复数的赋值void Assigncomplex(complex *&z,double v1,double v2){z->
栈的基本运算 #include<iostream.h>typedef char ElemType;#define maxsize 50typedef struct{ElemType data[maxsize]; //存放栈中的数据元素int top; //栈顶指针,即存放栈顶元素在data数组中的下标}sqstack;//1.初始化栈void chushi(sqstack *&s){s=new sqstack;s->top=-1; //栈顶指针置为-1}//2.判断栈
约瑟夫环问题 #include using namespace std;typedef int ElemType;typedef struct LNode {ElemType data;LNode* next;} LinkNode;// 1. 初始化头节点void InitNode (LinkNode*& L) {L = new LinkNode;L-> next = L;}// 2. 用尾插法创建循环单链表 同时改变实参中的尾指针void CreateListByRear (Li
循环链表的基本运算 #include<iostream.h>typedef char ElemType;typedef struct DNode{ElemType data;struct DNode *prior;struct DNode *next;}linklist;//1.初始化链表void chushi(linklist *L){L=new linklist;L->next=NULL;}//2.建立链表void jianli(linklist *&L,ElemTy
图的存储方式(邻接矩阵与邻接表之间的转化) #include<iostream.h>#define MAXV 100 //<最大顶点个数>#define INF 32767#define maxsize 32767typedef struct{int dingdian[MAXV]; //储存顶点的数组int edges[MAXV][MAXV]; //邻接矩阵数组int n; //顶点数int e; //边数}digraph; //完整的图邻接矩阵类型int locatevetex(
图与树之间的转化(深度与广度遍历) #include<iostream.h>#include<stdlib.h>#define MAXV 100 //<最大顶点个数>#define INF 32767#define maxsize 32767typedef int ElemType;int visited[MAXV]={0}; //全局数组typedef struct{int dingdian[MAXV]; //储存顶点的数组int edges[MAXV][MAXV]; //邻接
迷宫求解问题例子 #include <iostream.h>#define MaxSize 100#define M 8#define N 8int mg[M+2][N+2]={ {1,1,1,1,1,1,1,1,1,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,0,0,1,1,0,0,1},{1,0,1,1,1,0,0,0,0,1},{1,0,0,0,1,0,0,0,0,1},{1,0,1,0,0,0,1,0,0,1},{1
进制之间的转化(2-16进制之间) #include<iostream.h>typedef char ElemType;typedef struct linknode{ElemType data; //数据域struct linknode *next; //指针域}sqstack; //链栈结点类型typedef struct qnode{ElemType data; //存放元素struct qnode *next; //下一个节点指针}DataNode; //链队数据结点的
线性表的基本运用 #include<iostream.h>#define linesize 50 //宏定义typedef char ElemType;typedef struct{ElemType data[linesize]; //存放线性表元素int length; //存放线性表长度}sqlist; //顺序表类型//1.初始化线性表void chushi(sqlist *&L){L=new sqlist;L->length=0;}//2.建立线.