您的位置:

c语言寻图,c语言找图

本文目录一览:

C语言里抓图

你的程序必须在前台(点击你程序的标题栏,或任务栏中你程序的图标),再按alt+PrintScreen,然后再word中按ctrl+v

C语言实现图的广度优先搜索遍历算法

先写个大题思路,楼主先自己想想,想不出来的话,2天后给代码。

queuenode q;

q.push(start);

bool canVisit[][];

node cur;

while(!q.empty()){

cur = q.top();

q.pop();

foreach(node is connected by cur){

if(canVisit[node.x][node.y])

{

printf("访问结点(%d,%d)",node.x,node.y);

canVisit[node.x][node.y]=false;

q.push(node);

}

}

}

急!!如何用C语言建立一个图和图的深度优先搜索遍历,举个例子就行,要代码!!谢谢!!

/* ======================================== */

/* 图形的深度优先搜寻法 */

/* ======================================== */

#include stdlib.h

struct node /* 图形顶点结构宣告 */

{

int vertex; /* 顶点资料 */

struct node *nextnode; /* 指下一顶点的指标 */

};

typedef struct node *graph; /* 图形的结构新型态 */

struct node head[9]; /* 图形顶点结构数组 */

int visited[9]; /* 遍历记录数组 */

/* ---------------------------------------- */

/* 建立图形 */

/* ---------------------------------------- */

void creategraph(int *node,int num)

{

graph newnode; /* 新顶点指标 */

graph ptr;

int from; /* 边线的起点 */

int to; /* 边线的终点 */

int i;

for ( i = 0; i num; i++ ) /* 读取边线的回路 */

{

from = node[i*2]; /* 边线的起点 */

to = node[i*2+1]; /* 边线的终点 */

/* 建立新顶点记忆体 */

newnode = ( graph ) malloc(sizeof(struct node));

newnode-vertex = to; /* 建立顶点内容 */

newnode-nextnode = NULL; /* 设定指标初值 */

ptr = (head[from]); /* 顶点位置 */

while ( ptr-nextnode != NULL ) /* 遍历至链表尾 */

ptr = ptr-nextnode; /* 下一个顶点 */

ptr-nextnode = newnode; /* 插入结尾 */

}

}

/* ---------------------------------------- */

/* 图形的深度优先搜寻法 */

/* ---------------------------------------- */

void dfs(int current)

{

graph ptr;

visited[current] = 1; /* 记录已遍历过 */

printf("顶点[%d] ",current); /* 印出遍历顶点值 */

ptr = head[current].nextnode; /* 顶点位置 */

while ( ptr != NULL ) /* 遍历至链表尾 */

{

if ( visited[ptr-vertex] == 0 ) /* 如过没遍历过 */

dfs(ptr-vertex); /* 递回遍历呼叫 */

ptr = ptr-nextnode; /* 下一个顶点 */

}

}

/* ---------------------------------------- */

/* 主程式: 建立图形后,将遍历内容印出. */

/* ---------------------------------------- */

void main()

{

graph ptr;

int node[20][2] = { {1, 2}, {2, 1}, /* 边线数组 */

{1, 3}, {3, 1},

{2, 4}, {4, 2},

{2, 5}, {5, 2},

{3, 6}, {6, 3},

{3, 7}, {7, 3},

{4, 8}, {8, 4},

{5, 8}, {8, 5},

{6, 8}, {8, 6},

{7, 8}, {8, 7} };

int i;

for ( i = 1; i = 8; i++ )

{

head[i].vertex = i; /* 设定顶点值 */

head[i].nextnode = NULL; /* 清除图形指标 */

visited[i] = 0; /* 设定遍历初值 */

}

creategraph(node,20); /* 建立图形 */

printf("图形的邻接链表内容:\n");

for ( i = 1; i = 8; i++ )

{

printf("顶点%d =",head[i].vertex); /* 顶点值 */

ptr = head[i].nextnode; /* 顶点位置 */

while ( ptr != NULL ) /* 遍历至链表尾 */

{

printf(" %d ",ptr-vertex); /* 印出顶点内容 */

ptr = ptr-nextnode; /* 下一个顶点 */

}

printf("\n"); /* 换行 */

}

printf("图形的深度优先遍历内容:\n");

dfs(1); /* 印出遍历过程 */

printf("\n"); /* 换行 */

}

tc语言循环找图怎么写,

空间 依次找图

整型 线程编号1

功能 逻辑型 线程方法1()

循环(真)

辅助.等待(1000)

键盘.按键(65,1) //A

辅助.等待(500)

整型 x,y,图I

图I=图像.找图(0,0,1440,900,"rc:I.bmp",#102030,0.8,0,x,y) //找图I

如果(x0)

键盘.按键(66,1) //B

辅助揣叮编顾妆该表双勃晶.等待(500)

键盘.按键(67,1) //C

辅助.等待(500)

整型 x,y,图II

x = 0 //我不懂你这个语言,用就是在这里给x赋初值0就是

循环( x = 0) //同样,改成你这个语言的判断

图II=图像.找图(0,0,1440,900,"rc:II.bmp",#102030,0.8,0,x,y) //找图II

如果(x0)

键盘.按键(68,1) //D

辅助.等待(500)

如果结束

循环结束

如果结束

循环结束

返回 真

功能结束