1.棧的定義
2.用棧實現鍊錶
public
class stacklinked
public
void
setdata(int data)
public node getnext()
public
void
setnext(node next)
private
int data;
private node next;
public
node(int data,node next)
}private node head;
private
int size = 0;
//入棧
public
void
push (int data) else
size++;
}//出棧
public
void
pop()
node temp = head;
head = head.getnext();
size--;
system.out.println(temp.getdata());
}//判斷棧是否為空
public boolean isempty()
return
false;
}public
static
void
main(string args)
}
輸出結果
694
3true
3.用棧實現陣列public
class arraystack
public
void
push(int... data)
++top;
arr = data;}}
public
intpop()
return arr[top--];
}public
void
print()
}public
static
void
main(string args)
}
輸出結果
623
95pop: 6
pop: 2
pop: 3
pop: 9
pop: 5
4.佇列的定義**:
5.迴圈佇列
public
class loopqueue
//以乙個初始化元素來建立迴圈佇列
public
loopqueue(t element)
//以指定迴圈佇列中第乙個元素和指定長度的陣列來建立迴圈佇列
public
loopqueue(t element, int initsize)
//獲取迴圈佇列的大小
public
intsize()
return rear > front ? rear - front : capacity - (front - rear);
}//插入佇列
public
void
add(t element)
elementdata[rear++] = element;
//如果rear已經到頭,那就轉頭
rear = rear == capacity ? 0 : rear;
}//移除佇列
public t remove()
//保留佇列的rear端的元素的值
t oldvalue = (t) elementdata[front];
//釋放佇列的front端的元素
elementdata[front++] = null;
//如果front已經到頭,那就轉頭
front = front == capacity ? 0 : front;
return oldvalue;
}//返回佇列頂元素,但不刪除佇列頂元素
public t element()
return (t) elementdata[front];
}//判斷迴圈佇列是否為空佇列
public boolean isempty()
//清空迴圈佇列
public
void
clear()
public string tostring() else
int len = sb.length();
}//如果front >= rear,有效元素為front->capacity之間、0->rear之間的
else
for (int i = 0; i < rear; i++)
int len = sb.length();}}
}public
static
void
main(string args)
}
輸出結果
[aaaa, bbbb, cccc]
刪除乙個元素後的佇列:[bbbb, cccc]
[bbbb, cccc, dddd]
佇列滿時的長度:3
本人才疏學淺,若有錯,請指出
謝謝!
資料結構 棧與佇列
題目 1.編寫函式,採用鏈式儲存實現棧的初始化 入棧 出棧操作 2.編寫函式,採用順序儲存實現棧的初始化 入棧 出棧操作 3.編寫函式,採用鏈式儲存實現佇列的初始化 入隊 出隊操作 4.編寫函式,採用順序儲存實現佇列的初始化 入隊 出隊操作 5.編寫乙個主函式,在主函式中設計乙個簡單的選單,分別除錯...
資料結構 棧與佇列
棧的原則是後進先出,即插入與刪除元素均在棧頂進行。獲取棧頂元素 s.top 佇列的原則是先進先出,即插入資料在隊尾進行,刪除資料在隊頭進行。獲取隊頭元素 q.front 思路 用兩個棧,乙個棧用來進隊,乙個棧用來出隊,當資料進入佇列的時候,我們將其壓入乙個棧,當資料出隊的時候,我們將儲存在棧內的資料...
資料結構 棧與佇列
1.順序棧 基本操作 typedef int elemtype 定義 順序棧 typedef struct sqstack 判空 bool stackempty sqstack s 進棧 bool push sqstack s elemtype x 出棧操作 bool pop sqstack s e...