- 博客(17)
- 收藏
- 关注
原创 C++N皇后问题
#include"stdafx.h"#include<iostream>#include<vector>using namespace std;#define Size 4//棋盘大小vector<vector<int>>mark;//定义标记数组vector<string>location;//定义放置数组vector&l...
2020-03-25 12:49:20 342
原创 C++骑士巡游问题
一个骑士在棋盘中,给予其一个初始位置,求其能否不重复地走完整个棋盘且。#include"stdafx.h"#include<iostream>#include<vector>using namespace std;#define size 6//棋盘规格int visit=0;//访问顺序int mark[][size]={0};//定义棋盘const in...
2020-03-25 11:46:59 2419
原创 C++文件读写
有8个学生,有如下信息:名字,年龄,成绩。从键盘输入8位同学的信息,存入cs.txt,再从文件中读取数据,对8位同学按成绩由高到低排序,输出成绩第二高的学生信息。#include "stdafx.h"#include<iostream>#include<algorithm>#include<fstream>#include<string>...
2020-03-22 16:23:44 300
原创 C++ 排序
冒泡排序void bubblesort(int a[],int n){ for(int i=0;i<n-1;i++) { int temp=0; for(int j=1;j<n-i;j++) { if(a[j-1]>a[j]) { swap(a[j-1],a[j]); flag=1; } } if...
2020-03-12 09:55:42 163
原创 C++顺序表折半查找
算法思想折半查找:又称二分查找,适用于有序的顺序表。 先将中间位置元素与Key进行比较 若相等,则返回中间位置下标 若不相等: ① key<中间值,在左半边继续查找 ② key>中间值,在右半边继续查找算法实现int BinarySearch(sqList L,int key){ int low=0,high=L.l...
2020-03-09 16:49:21 1824
原创 C++ 平衡树判定
算法思想:利用递归的后序遍历过程: ①判断左子树是否平衡 ②判断右子树是否平衡 ③判断以该节点为根的树是否平衡判断条件:左子树和右子树均为平衡树且高度差的绝对值<=1 void Judge_AVL(BTree T,int &balance,int &height){ int bl=0,br=0,hl=0,hr=0;//左右子树的平衡性和高度 if(T...
2020-03-08 14:34:01 343
原创 C++二叉排序树的实现
基本功能int Insert(BTree &T,int key);//按序插入节点void Creat(BTree &T,int *a,int n);//创建二叉排序树BTree Search(BTree T,int key);//查找节点void PostOrder(BTree T);//中序遍历void LevelOrder(BTree T);//层次遍历int P...
2020-03-08 10:34:43 331
原创 C++二叉树的实现
二叉树的基本操作BTree Creat(BTree &T);//先序创建二叉树void PreOrder(BTree T);//先序遍历void InOrder(BTree T);//中序遍历void PostOrder(BTree T);//后序遍历void LevelOrder(BTree T);//层次遍历void PrintTree(BTree T);//打印结构体...
2020-03-08 00:37:41 405
原创 C++ 模式匹配
算法思想:(普通方法) 一、char[]存储: 1.定义主串S,目标串T; 2.i,j分别指向S和T的第一个字符,开始比较: Ⅰ.若相等:i++;j++; (i,j都向后移) Ⅱ.若不等,i=i-j+1;j=0;(i向后S移一位,j重新指向T第一个字符),继续比较。 二、string存储: 1.定义主串S,目标串T; 2.初始i=0;将T与S的子串(...
2020-03-06 09:36:40 1138
原创 C++ 中缀转后缀并求值
## 1.中缀转后缀算法思想 遍历字符串: 一.若为数字1~9,进入后缀队列; 二.若为左括号‘(’,进入符号栈; 三.若为右括号’)‘,将栈顶元素压入后缀队列,直到栈顶为’(‘; 四.若为‘+’,‘-‘,当栈不为空时,将栈顶元素压入后缀队列,直到栈顶为’(‘; 五.若为’*‘,’\‘,当栈不为空且栈顶元素不为’+‘,’-‘时,将栈顶元素压入后缀队列,直到栈顶为’(...
2020-03-05 09:17:57 873
原创 C++ 括号匹配 栈实现
算法思想1.初始化一个栈,顺序读入括号;2.若为左括号“(,[,{”,则压入栈中;3.若为又括号“),],}”,则与栈顶元素进行匹配:①:若匹配,则弹出栈顶元素;②:若不匹配,则该序列不合法.4.若遍历结束,栈空则合法,否则不合法.操作函数void InitStack(sqStack &s);//初始化栈void Push(sqStack &s,char c);/...
2020-03-04 11:38:04 796
原创 C++ 循环队列
循环队列的基本操作void InitQueue(sqQueue &q);//初始化队列bool IsEmpty(sqQueue q);//判空int LengthQ(sqQueue q);//队长void EnQueue(sqQueue &q,int n);//入队void deQueue(sqQueue &q);//出队int TopElem(sqQueue ...
2020-03-03 22:09:35 212
原创 C++ 链队
链队的基本操作void InitQueue(LQueue &q);//初始化队列bool IsEmpty(LQueue q);//判空void EnQueue(LQueue &q,int n);//入队void DeQueue(LQueue &q );//出队void display(LQueue q);//显示队列元素结构体定义typedef struct...
2020-03-03 20:34:35 113
原创 C++链栈
链栈基本操作LStack *CreateStack(LStack *s,int n);//创建栈void Display(LStack *s);//打印栈LStack *Push(LStack *s,int n);//压栈LStack *Pop(LStack *s);//压栈void Top(LStack *s);//栈顶元素结构体定义typedef struct LinkStac...
2020-03-03 00:16:30 972 1
原创 C++ 顺序栈
顺序栈的基本操作void InitStack(sqStack &s);//初始化栈bool EmptyStack(sqStack s);//判空bool Push(sqStack &s,int a);//压栈bool Pop(sqStack &s);//弹栈int Top(sqStack s);//栈顶元素void display(sqStack s);//打印...
2020-03-02 22:53:18 265
原创 C++ 线性表的链式存储:单链表
单链表的基本操作LinkList CreatList(LinkList &L);//创建单链表LinkList List_HeadInsert(LinkList &L);//头插法LinkList List_TailInsert(LinkList &L);//尾插法 LinkList Delete_i(LinkList &L,int i);//删除第i个节点...
2020-03-02 10:00:08 313
原创 C++ 线性表的顺序存储:顺序表(静态)
顺序表的基本操作:1.InitList(sqList &L);//初始化顺序表2.CreateList(sqList &L,int n);//创建顺序表3.PrintList(sqList L);//打印顺序表4.InsertElem(sqList &L,int i,int e);//插入元素5.DeleteElem(sqList &L,int i,int...
2020-03-02 01:01:28 253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人