上一次用鍊結串列做過,不過說到堆疊,C語言最好還是用一般陣列寫

有鑑於此,所以這次我用陣列玩看看。

 

首先,要說明一下。堆疊的建構有幾個一定要出現的,比如說create功能(初始化堆疊)、push功能(置入)、pop功能(取出/刪除)、以及很重要的IsEmpty(判斷是否為空堆疊,沒有這個pop會出錯);除了這四個以外,如果用陣列來做,就一定要考慮到陣列空間是否已滿。如果用鍊結串列來做,因為空間是「需要才加上去」,空間配置是可動的,所以IsFull這個功能可以不要沒關係,但如果是陣列,沒有這個功能,恐怕就會有溢出問題。

 

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

不管是系統分析、資訊管理、還是程式語言,統統都會講到OO(物件導向,Object Oriented)概念,而且被提及得非常頻繁。究竟什麼是物件導向?這大概可以分成兩個層面來說:OOA(物件導向分析)、以及OOD(物件導向設計)。

 

所謂的OOA,是把整個需求拆解成幾個甚至於許多個細部需求,這些細部需求組合起來必然為委案者的原始需求,然後根據這些被簡化了的細部需求瞭解各種功能物件,從而在分析階段清楚的辨明整個需求的面貌。

OOD則是建立在OOA前提之上;根據物件導向分析結果,分別同步或依序設計、撰寫、測試、組裝所有的功能元件,以一種類似於模組化設計生產的方式,將需求實質化。

 

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include<iostream>
using namespace std;

struct NODE//node裡面應該會有一個data,一條鍊子
{
    int data;

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include <iostream>
using namespace std;

const int _1st=1;
const int _2nd=3;
const int _3rd=1;

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include <iostream>
using namespace std;

const int row=2;
const int col=3;

void matrix_trans(int [row][col],int [col][row]);

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include<iostream>
using namespace std;

const int row = 3;
const int col = 3;// 定義global 變數;

void addMatrix(int [row][col],int [row][col],int [row][col]);//定義「矩陣相加」函數

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

證明費氏數列 f= (a- bi)/根號5,其中ai = (1+根號5)/2, bi = (1-根號5)/2

首先,已知 fn=fn-1+fn-2

設fn=rn,則 fn - fn-1 - fn-2 = 0 可轉為rn-rn-1-rn-2=0

同除以rn-2得到 r- r - 1

r=(1+根號5)/2或(1-根號5)/2

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

證明當f(n)=a0n0+a1n1+...+amnm=Big O(nm)

根據原式可知,f(n) = sigema(i 從0到m)的aknk 

=sigema (i 從0到m)(|a0|n0+|a1|n1+...+|am|nm)

=sigema (i 從0到m)nm(|a0|n-m+|a1|nm-1+...+|am|n0)

=nm *sigema (i 從0到m)|ai|*1

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include <iostream>

using namespace std;

int Ack(int m, int n)
{
   if (m==0)

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()

#include <iostream>
using namespace std;

#define N 20

int F(int n)
{

文章標籤

archerdevil 發表在 痞客邦 留言(0) 人氣()