[輸入] 圖的頂點個數N,圖中頂點之間的關系及起點A和終點B [輸出] 若A到B無路徑,則輸出“There is no path” 否則輸出A到B路徑上個頂點 [存儲結構] 圖采用鄰接矩陣的方式存儲。 [算法的基本思想] 采用廣度優先搜索的方法,從頂點A開始,依次訪問與A鄰接的頂點VA1,VA2,...,VAK, 訪問遍之后,若沒有訪問B,則繼續訪問與VA1鄰接的頂點VA11,VA12,...,VA1M,再訪問與VA2鄰接頂點...,如此下去,直至找到B,最先到達B點的路徑,一定是邊數最少的路徑。實現時采用隊列記錄被訪問過的頂點。每次訪問與隊頭頂點相鄰接的頂點,然后將隊頭頂點從隊列中刪去。若隊空,則說明到不存在通路。在訪問頂點過程中,每次把當前頂點的序號作為與其鄰接的未訪問的頂點的前驅頂點記錄下來,以便輸出時回溯。 #include<stdio.h> int number //隊列類型 typedef struct{ int q[20]
標簽: 輸入
上傳時間: 2015-11-16
上傳用戶:ma1301115706
#include<malloc.h> #include<limits.h> #include<stdio.h> #include<graphics.h> #include<io.h> #include<math.h> #include<process.h> #include<conio.h> #define m 100 #define OK 1 typedef int Status typedef char TElemType /*樹元素的類型*/ int t=35 int n=20 int h=14 int u=2 int leaf=0,non_l_leaf=0,non_r_leaf=0,root=0 /*各種結點數*/ char le[m],l[m],r[m],ro[m] /*用與存放各種結點*/ typedef struct BiTNode/*定義二叉樹*/
上傳時間: 2013-12-15
上傳用戶:liansi
希爾排序算法: 基本思想:將整個無序序列分割成若干小的子序列分別進行插入排序。 序列分割方法:將相隔某個增量h的元素構成一個子序列。在排序過程中,逐次減小這個增量,最后當h減到1時,進行一次插入排序,排序就完成。增量序列一般采用:ht=2t-1,1≤t≤[log2n],其中n為待排序序列的長度。
上傳時間: 2013-12-19
上傳用戶:kikye
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上傳時間: 2014-11-10
上傳用戶:wpwpwlxwlx
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上傳時間: 2013-12-12
上傳用戶:亞亞娟娟123
成績顯示三個部份abc #include<stdio.h> #include<stdlib.h> int main(void) { float gread printf("請輸入分數\n") scanf("%f",&gread) if(gread>=80&&gread<=100) printf("成績為A\n") else if(gread>=60&&gread<=79) { printf("成績為B\n") } else if(gread>=0&&gread<60) { printf("成績為C\n") } else { printf("分數輸入錯誤\n") } system("pause") return 0 }
標簽: include stdlib float gread
上傳時間: 2014-01-15
上傳用戶:waizhang
河內塔問題 #include<stdio.h> #include<stdlib.h> int fun_a(int) void fun_b(int,int,int,int) int main(void) { int n int option printf("題目二:河內塔問題\n") printf("請輸入要搬移的圓盤數目\n") scanf("%d",&n) printf("最少搬移的次數為%d次\n",fun_a(n)) printf("是否顯示移動過程? 是請輸入1,否則輸入0\n") scanf("%d",&option) if(option==1) { fun_b(n,1,2,3) } system("pause") return 0 } int fun_a(int n) { int sum1=2,sum2=0,i for(i=n i>1 i--) { sum1=sum1*2 } sum2=sum1-1 return sum2 } void fun_b(int n,int left,int mid,int right) { if(n==1) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) else { fun_b(n-1,left,right,mid) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) fun_b(n-1,mid,left,right) } }
上傳時間: 2016-12-08
上傳用戶:努力努力再努力
指定一個數字轉換回十進位,八進位,十六進位#include <stdio.h> #include <stdlib.h> int main(void) { int number =89 printf("數字 %d\n",number) /* %d 為十進位輸出格式*/ printf("八進位為 %o\n",number) /* %o 為八進位輸出格式*/ printf("十六進位為%x\n",number) /* %x 為十六進位輸出格式*/ system("pause") return 0 }
上傳時間: 2013-11-29
上傳用戶:tyler
#include<stdio.h> #include<string.h> #include<limits.h> #include<unistd.h> #include<sys/types.h> #define PROMPT_STRING "[myshell]$" #define QUIT_STRING "exit\n" static char inbuf[MAX_CANON] char * g_ptr char * g_lim extern void yylex() int main (void){ for( ){ if(fputs(PROMPT_STRING,stdout)==EOF) continue if(fgets(inbuf,MAX_CANON,stdin)==NULL) continue if(strcmp(inbuf,QUIT_STRING)==0) break g_ptr = inbuf g_lim = inbuf + strlen(inbuf) yylex() } return 0 }
上傳時間: 2016-12-31
上傳用戶:colinal
//順序表的建立、查找、插入與刪除 #include <stdio.h> #include <malloc.h> #include <stdlib.h> #define ListSize 100 //表最大長度 //結構定義 typedef struct SeqList { int node[ListSize] //存放表結點 int length //當前表長度 } SeqList //插入元素 insertList(SeqList *list, int e) { int i=list->length-1 //先將i指定為最后一項 if(i>=ListSize-1) //表已經達到最大長度ListSize { printf("表已滿,不能增加新的項!\n")
上傳時間: 2014-01-17
上傳用戶:dongqiangqiang