- 博客(6)
- 收藏
- 关注
原创 踩方格--深搜
#include <iostream>#include <cstring> using namespace std; int visited[30][50]; //记录位置i,j是否被走过int ways ( int i,int j,int n) { if( n == 0) return 1; //一步都不用走 visited[i][j] = 1; //起点位置标记走过i,j了 int num = 0; //几种走法 if( ! visited[i][.
2020-05-18 22:35:11
187
1
原创 城堡问题--深搜
#include <iostream>#include <stack> #include <cstring> using namespace std; int R,C; //行列数 int rooms[60][60]; int color[60][60]; //方块是否染色过的标记int maxRoomArea = 0, roomNum = 0; int roomArea; void Dfs(int i,int k) { if( color[...
2020-05-18 22:09:14
286
原创 深搜
//判断从V出发是否能走到终点:bool Dfs(V){ if( V 为终点) return true; if( V 为旧点) return false; 将V标记为旧点; 对和V相邻的每个节点U { if( Dfs(U) == true) return true; } return false;} int main() { 将所有点都标记为新点; 起点 = 1 终点 = 8 c.
2020-05-18 21:57:10
307
原创 STL -- vector
vector定义:一个vector类似于一个动态一维数组,可以存在重复的元素vector< int > a; //声名一个int型的vector avector< node > a; //声名一个node型的vector a注意 :这里的a包含0个元素,a.size()的值为0,它是动态的,大小会随着数据的插入和删除而改变vectoe< int > a(100,0); //声明一个存放100个0的整数型vector...
2020-05-17 16:43:55
144
原创 逆序链表
逆序链表建立逆序链表(表头插入节点)总是使用下面四条语句实现:(1)p = new node;(2)cin >> p->data;(3)p->next = head;(4)head = p;逆序链表最简单,因为新来的节点总是被插入到表头位置,链表目前有多长(链表中已经有多少节点),都不影响在表头插入一个新节点。总结链表三要素:1、head指向第一个节点2、各节点依次连接3、尾节点next为NULL注意在做此类程序时,千万不要对没有指向的指针做间址访问,因为没
2020-05-15 21:19:18
486
原创 索引
对于大量数据而言 结构体信息整体交换 肯定不是高效率的解决方案,于是 就产生了索引的概念1、定义了索引数组 Student *p[5],其实就是Student类型的指针数组,每个元素都是Student类型的指针2、p[i]=&s[i],把p[0]到p[4]赋值为a[0]到a[4]的地址,保证一一对应指向,没有重复或遗漏3、cin信息时用的还是s,但后面的排序以及cout,用的都是p,因为排序时p的元素在交换,s的元素始终没动这样就可以保持数据量较大的s不动,用数据量较小的p实现排序
2020-05-15 20:41:28
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人