PHP は二重リンク リストとスタックを実装し、C 言語は二重リンク リストを実装します
初期の頃に、PHP による一方向リンク リストの実装と一方向リンク リストのソートに関する記事を書きました: http:/ /www.cnblogs.com/yydcdut/p/3777760.html。二重リンク リストについては以前に書きましたので、もう一度触れます: http://www.cnblogs.com/yydcdut/p/3782661.html。
今回は二重リンクリストとスタックの実装をシェアさせていただきます。コードは以前書いたものですが、PHPで書いたコードはわかりやすいと思いました!
ダブルリンクリスト
リーリー
ダブルリンクリスト挿入操作図:
リーリー
if
(
$cur->次!=null)
$cur->次->前=$cur->前;
$cur->前>次=$cur->次;
スタック
リーリー
私は天の王と地上の虎の境界線です
「リンクリストの PHP 実装」ポータル: http://www.cnblogs.com/yydcdut/p/3777760.html
転載元を示してください: 転載元を示してください: http://www.cnblogs.com/yydcdut
二重リンクリストを使用して Java でスタックをシミュレートする
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=78b77a6865e700)
里只
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=78b7736869e700)
实现了Stack
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=78b76465e700)
部分機能
public class Stack{
private Node top;
public Stack(){
this.top = null;
}
public void Push(Node node){
if (node == null)
return;
if(this.top == null){
this.top = node;
node.setNext(null);
node.setPre(null);
}
else{
this .top.setNext(node);
node.setPre(this.top);
node.setNext(null);
this.top = node;
}
}
public Node Pop(){
if(this. top == null)
return null;
ノード curr = this.top;
ノード pre = curr.getPre();
pre.setNext(null);
this.top = pre;
return curr;
}
public Node top(){
return this.top;
}
public boolean isEmpty(){
return this.top == null ? true : false;
}
public void empty(){
this.top = null;
}
public static void main(String[] args){
Stack stack = new Stack();
Node n1 = newノード (1);
ノード n2 = 新しいノード (2);
ノード n3 = 新しいノード (3);
System.out.println(stack.isEmpty());
stack.push(n1);
システム.out.println(stack.top().getValue());
stack.push(n2);
stack.push(n3);
System.out.println(stack.pop().getValue());
stack.empty();
}
}
class Node {
private int value;
private Node next;
private Node pre;
public Node(int value, Node next, Node pre){
this.value = 値;
this.next = next;
this.pre = pre;
}
public Node(int value){
this.value = value;
this.next = null;
this.pre = null;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public Node getPre() {
return pre;
}
public void setPre(Node pre) {
this.pre = pre;
}
}
スタックまたはキュー
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a686f6e677a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
データには、キューを実装するために組み込み配列を使用する
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969317a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
よりも
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885172757a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516b657a09)
を保持するコンテナが必要です
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
すべての要素が
移動されます
ビット
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a68657a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517368697a09)
新しい要素が挿入されます
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516b657a09)
(
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a68657a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516b657a09)
実装効率が比較的低い場合)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69616e677a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851686f757a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969317a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
コンテナ選択
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69616e677a09)
リンクリスト
その後、エンキュー操作
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885172616e7a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a68657a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516d657a09)
は次のように実装されます:
構築
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885172757a09)
チェーンノード
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885167756f7a09)
(
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69616e677a09)
C
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517765697a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a68657a09)
の構造)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969317a09)
キューに追加される
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885167657a09)
要素が入力される
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a61697a09)
新しいノード
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a686f6e677a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69757a09)
リンク リストを再利用する
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517368697a09)
挿入操作
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969317a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885167657a09)
新しいノードがリンク リストに挿入される
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69616e677a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885171756f74655f6c6566747a09)
スタックまたはキューを実装するために使用されるリンク リスト
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885171756f74655f72696768747a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69757a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517368697a09)
データを保持する
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516a69616e677a09)
コンテナがリンク リストとして選択されます
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
リンク リスト
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
を使用してノードの挿入とノードを削除し、スタックとキューを実装する
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
対応する操作
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
を使用する場合よりも
キューを実装するリスト
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885172757a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
C
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517a686f6e677a09)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88516b657a09)
書き込み
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969337a09)
次のいくつかの
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=88517969317a09)
関数
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885167657a09)
//enqueue
void insert (キューへのポインタ(リンクリスト)
ポインタ
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
要素)
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=8851636f6d6d617a09)
//dequeue
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
void delete (キューへのポインター (リンクされたリスト)
);
![PHPは二重リンクリストとスタックを実装、C言語は二重リンクリストを実装_PHPチュートリアル](http://zhidao.baidu.com/api/getdecpic?picenc=885164657a09)
http://www.bkjia.com/PHPjc/827942.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/827942.html技術記事 PHP は二重リンク リストとスタックを実装し、C 言語は二重リンク リストを実装します。初期の頃に、PHP による一方向リンク リストの実装とポータルの一方向ソートに関する記事を書きました。 .com/yydc...