上一次用鍊結串列做過,不過說到堆疊,C語言最好還是用一般陣列寫
有鑑於此,所以這次我用陣列玩看看。
首先,要說明一下。堆疊的建構有幾個一定要出現的,比如說create功能(初始化堆疊)、push功能(置入)、pop功能(取出/刪除)、以及很重要的IsEmpty(判斷是否為空堆疊,沒有這個pop會出錯);除了這四個以外,如果用陣列來做,就一定要考慮到陣列空間是否已滿。如果用鍊結串列來做,因為空間是「需要才加上去」,空間配置是可動的,所以IsFull這個功能可以不要沒關係,但如果是陣列,沒有這個功能,恐怕就會有溢出問題。
archerdevil 發表在 痞客邦 留言(0) 人氣(1,304)
不管是系統分析、資訊管理、還是程式語言,統統都會講到OO(物件導向,Object Oriented)概念,而且被提及得非常頻繁。究竟什麼是物件導向?這大概可以分成兩個層面來說:OOA(物件導向分析)、以及OOD(物件導向設計)。
所謂的OOA,是把整個需求拆解成幾個甚至於許多個細部需求,這些細部需求組合起來必然為委案者的原始需求,然後根據這些被簡化了的細部需求瞭解各種功能物件,從而在分析階段清楚的辨明整個需求的面貌。
OOD則是建立在OOA前提之上;根據物件導向分析結果,分別同步或依序設計、撰寫、測試、組裝所有的功能元件,以一種類似於模組化設計生產的方式,將需求實質化。
archerdevil 發表在 痞客邦 留言(0) 人氣(154)
#include<iostream>
using namespace std;
struct NODE//node裡面應該會有一個data,一條鍊子
{
int data;
struct NODE *L;//只會往左邊走,其實我本來想要寫從左到右,可是我寫錯又懶得改..
};
archerdevil 發表在 痞客邦 留言(0) 人氣(1,466)
#include <iostream>
using namespace std;
const int _1st=1;
const int _2nd=3;
const int _3rd=1;
archerdevil 發表在 痞客邦 留言(0) 人氣(98)
#include <iostream>
using namespace std;
const int row=2;
const int col=3;
archerdevil 發表在 痞客邦 留言(0) 人氣(470)
#include<iostream>
using namespace std;
const int row = 3;
const int col = 3;// 定義global 變數;
archerdevil 發表在 痞客邦 留言(0) 人氣(4,838)
證明費氏數列 fi = (ai - bi)/根號5,其中ai = (1+根號5)/2, bi = (1-根號5)/2
archerdevil 發表在 痞客邦 留言(0) 人氣(165)
證明當f(n)=a0n0+a1n1+...+amnm=Big O(nm)
archerdevil 發表在 痞客邦 留言(0) 人氣(854)
#include <iostream>
using namespace std;
int Ack(int m, int n)
{
if (m==0)
archerdevil 發表在 痞客邦 留言(0) 人氣(1,017)
#include <iostream>
using namespace std;
#define N 20
int F(int n)
{
int ans=0;
if(n==1||n==0){ans = n;}
else{ans=F(n-1)+F(n-2);}//遞迴狀態
return ans;
}
archerdevil 發表在 痞客邦 留言(0) 人氣(3,701)