初学数据结构第一题
来源:互联网 发布:python人脸识别 编辑:程序博客网 时间:2024/06/05 01:54
既然要重新开始踏上征程,在学习新的知识前,先回顾下以前所学过的一些皮毛。
数据结构,对于IT行业的学习者来说是一门很重要的课,而本人学的第一个知识点,是由学长所点拨之下学习的数据结构中很重要的思想,栈与队列的思想,下面附出本人第一次运用队列知识所解决的一道题目,此题是NYOJ的第58题,也是从此题开始,本人正式踏上了学习数据结构之路,算是个小小的回顾的同时重新备忘吧!
点击打开链接PS:代码有点乱~~找时间重新写一遍,然后注释。
#include <stdio.h>#include <string.h>#include <queue>using namespace std;int a[9][9]={ 1,1,1,1,1,1,1,1,1, 1,0,0,1,0,0,1,0,1, 1,0,0,1,1,0,0,0,1, 1,0,1,0,1,1,0,1,1, 1,0,0,0,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,0,0,0,1, 1,1,1,1,1,1,1,1,1 }; struct sb{int x,y,step;};int visit[9][9];int ab(int x1,int y1,int x2,int y2){queue<sb>q;int i,s,t,m[]={-1,1,0,0},n[]={0,0,-1,1};visit[x1][y1]=1;sb e={x1,y1,0};q.push(e);while(!q.empty()){e=q.front();if(e.x==x2&&e.y==y2)break;q.pop();for(i=0;i<4;i++){s=e.x+m[i];t=e.y+n[i];if(s<=8&&s>=0&&t<=8&&t>=0&&visit[s][t]==0&&a[s][t]==0){sb e1={s,t,e.step+1};q.push(e1);visit[s][t]=1;}}}if(q.empty())return -1;while(!q.empty()){q.pop();}return e.step;}int main(){int x1,y1,x2,y2,t,sum;scanf("%d",&t);while(t--){scanf("%d%d%d%d",&x1,&y1,&x2,&y2);memset(visit,0,sizeof(visit)); sum=ab(x1,y1,x2,y2);printf("%d\n",sum);}return 0;}
- 初学数据结构第一题
- 数据结构程序设计 第一题
- 初学数据结构
- 初学css第一讲
- 初学第一季
- JavaWeb初学第一回合
- 初学freertos第一课
- 初学数据结构---理清数据结构名称
- 初学数据结构即受挫
- Java数据结构初学笔记
- 初学数据结构的心得
- 数据结构初学之:队列
- 初学数据结构之堆栈
- 初学数据结构之队列
- 初学数据结构之排序
- 初学数据结构---查找
- 初学数据结构---排序
- 初学数据结构---图
- [Leetcode] Permutations
- 几大最短路径算法比较
- [Leetcode] Set Matrix Zeroes
- backup
- LeetCode: Regular Expression Matching
- 初学数据结构第一题
- C#typeof
- VB 延时类
- OpenCv将图片写入到视频文件中
- Attempted to kill init!——libc.so.6: file too short
- virtualbox下安装雪豹10.6系统(AMD下亲测成功)
- 早上起来播报,用我做的S5PV210 核心板做的JAMMA 游戏机工控板(附图)跑wince+android系统
- gSpan 频繁子图挖掘算法的实现
- android开发,给手机创造了一个新天地