原创 數組、矩陣、與廣義表(二)
在一個二維數組中找出所在行所在列都最小或最大的元素: #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