原创 數組、矩陣、與廣義表(二)

  在一個二維數組中找出所在行所在列都最小或最大的元素: #include<iostream> using namespace std; #define maxSize 99 void printmin(int A[][maxSize]

原创 一道面試題(小Q最近在玩一個嵌入式開發板)

     小Q最近在玩一個嵌入式開發板,看着板子上的一堆電容,他想比較板子上電容數量的多少。第一行給定比較次數n,      接下來n行,每行給定兩個板子的編號a1,a2,編號從1開始。每行第一個元素a1爲第一次比較中板子上電容數量較多

原创 五子棋-判斷輸贏

#include<iostream> using namespace std; #define maxn 100 int a[maxn][maxn],n; int dir[8][2]={1,1,1,-1,-1,-1,-1,1,0,1,0

原创 數組、矩陣與廣義表

  移動數組中非零元素至數組的前端 : #include<iostream> using namespace std; void movelement(int a[],int n) { int i=-1,j,temp; for(j

原创 各種排序算法性能分析彙總

           排序算法                                                時間複雜度   空間複雜度   穩定性            平均情況          最壞情況       

原创 數組、矩陣、與廣義表(三)

   稀疏矩陣A、B以三元組存儲    求:  C=A+B void add(int A[][3],int B[][3],int C[][3]) { int i=1,j=1,k=1,m; while(i<=A[0][0]&&j<=B

原创 設在一棵二叉搜索樹的每個結點中,含有關鍵碼key域和統計相同關鍵碼

#include<stdio.h> #include<stdlib.h> typedef struct BTNode { int data; int count; struct BTNode *lchild; struct

原创 虛析構和純虛析構

  使用多態時,如果子類中有屬性開闢到堆區,那麼父類指針在釋放時無法調用到子類的析構代碼 解決:將父類中的析構函數改爲虛析構或者純虛析構 虛析構和純虛析構 共性:1.可以解決父類指針釋放子類對象           2.都需要有具體的函

原创 判斷IP地址是否合法

#include<iostream> #define maxn 999 using namespace std; int judge(char s[],int len) { if(len<7||len>15||s[0]=='.'||s

原创 直接插入排序(鏈表)

typedef struct LNode { int data; struct LNode *next; }LNode; void CreateLink(LNode *&h,char R[],int n) { int i; LN

原创 圖的非遞歸深度優先搜索(鄰接表存儲)

   鄰接表 //邊表 typedef struct ArcNode { int adjvex; //該邊所指向的結點的位置 struct ArcNode *nextarc; //指向下一條邊

原创 弗洛伊德算法

#include<iostream> using namespace std; #define maxSize 99 #define inf 999 typedef struct { int no; char info; }Vert

原创 二叉樹的創建

 前序、中序 #include<iostream> #include<cstdlib> using namespace std; typedef struct BTNode { char data; struct BTNode *l

原创 二叉樹的非遞歸遍歷(二)之線索二叉樹

 中序線索二叉樹的構造: typedef struct TBNode { int data; int ltag,rtag; TBNode *lchild; TBNode *rchild; }TBTNode; //通過中序遍歷對二

原创 串的模式匹配算法-KMP

#include<iostream> #include<cstdlib> #include<cstring> using namespace std; #define maxSize 99 //所有字符串從下標1開始存儲 typede