アルゴリズムアルゴリズムPHP PHPキューキュー

PHPキューアルゴリズム

 

このクラスキューに2つのアルゴリズムは、データが配置されているデータ・クラスであり、第2の待ち行列は、このキューのクラスがいくつかの操作がキューことです。

まず、キュー内のすべてを格納するためのフロント(キューの先頭、それはチームが外に起こっている、である)、リア(永遠に0を指し、ここでキューの末尾)が含まキューが(とき時空の前の要素があるキューのデフォルト、のようになり、データをキューに入れられました彼リアポイント)MAXSIZE(キュー長)の4つのプロパティ

アプリケーションノート:

1つのキュー初期化:リア0に初期化キューMAXSIZEとしてキューに渡されたパラメータを生成する、フロントキューのみ正面、この時点で0に設定され、後の要素を0に彼を指し

 

2.チーム:キューが満杯であるかどうか(前後==のMAXSIZE)、チップの完全な場合、Ruoguoはフルフロント+ 1を聞かせていないが、その後、新しいに、つまり(画像を移動する前に、キュー内のすべての要素を聞かせて尾の位置を聞かせて)と終了位置+1チームにデータオブジェクトを生成します。この時、チームが成功しました!

3.チーム:空でない場合は、キューが空であるかどうかを判断する(フロント==リア)、などの空のヒントとしては、オブジェクトは、チームが成功し、フロント-1(後方1を移動する)前に指摘し、削除します!

ます。http://blog.csdn.net/binbin1129/article/details/5649010からの振替

コードをコピー
<?PHP 
/ ** 
* PHPキューアルゴリズム
*   
*オン2010年6月4日作成
*著者行った事が
* QQ:281 443 751 
* Eメール:[email protected] 
** / 
クラスデータ{ 
    //データ
    プライベート$データ; 
    
    パブリック関数の__construct (データ$){ 
        の$ this - > = $データデータ; 
        $データエコー。 ":!チーム<BR>に兄弟"; 
    } 
    
    パブリック関数のgetDataは(){ 
        しますreturn $ this->データ; 
    } 
    パブリック関数__destruct() { 
        。>データを返します$ this-エコー":!<BR>へ行く兄を"; 
    } 
} 
クラスキュー{ 
    $前面保護; //チームのヘッド
    保護さ$リア; //エンドチーム 
    $キュー=配列( '0保護 ' => ' キューテールを'); / /ストアキュー
    保護$ MAXSIZE;の//最大数
    
    パブリック関数__construct($サイズ){ 
        の$ this - > INITQ($サイズ); 
    } 
    //キュー初期化
    プライベート関数INITQ($サイズ){ 
        ;の$ this - >フロント= 0 
        の$ this -を= 0> REAR; 
        の$ this - > MAXSIZE = $サイズ; 
    } 
    //ヌルの分析チーム
    公共QIsEmpty機能(){ 
        返します$ this->フロント==ます$ this-> REAR; 
    } 
    //分析チームフル
    パブリック関数QIsFull( ){ 
        リターン(の$ this - >フロントの$ this - >リア)==の$ this - > MAXSIZE; 
    } 
    //最初のチームデータを取得 
    //エンキュー
    パブリック関数INQ($データ){ 
    パブリック関数getFrontDate(){
        しますreturn $ this->キュー[ます$ this->フロント] - >のgetData(); 
    } 
        もし(の$ this - > QIsFull())$のデータをエコー":我一来咋就满了(队满不能入队、请等待!)<BR>を!";。
        他の{ 
            の$ this - >フロント++; 
            ($ I =の$ this - >フロント;>の$ this - >リアI $、$ I - )のために{ 
                //エコー$データ。
                もし(の$ this - >キュー[$ i])と解除(の$ this - >キュー[$ i])と、
                の$ this - >キュー[$ i]を=の$ this - >キュー[$ I-1]; 
            } 
            の$ this - >キュー【の$ this - >リア+ 1] =新データ($データ)。
            //ますprint_r(の$ this - >キュー)。
            //エコーの$ this - >フロント。
            エコー'入队成功<BR>!'; 
        (の$ this - > QIsEmpty()場合 ")エコーチーム<BR>を空ことができないチーム!";
            this- $> front--; 
            //ますprint_r(の$ this - >キュー); 
            //エコーの$ this - >フロント; 
            "!チームが成功<BR>"エコー; 
        } 
    } 
} 
$ qを=新しい新しいキュー(3) ; 
$ Q-> INQ( "苗"); 
$ Q-> INQ( 'マ元帥'); 
$ Q-> INQ( 'スケート'); 
$ Q-> INQ( 'チャン史家'); 
$ Q-> OUTQ(); 
$ q-で> INQ( "周Ruixiao"); 
$ q-で> OUTQ(); 
$ q-で> OUTQ(); 
$ q-で> OUTQ(); 
$ q-で> OUTQ();

 

このクラスキューに2つのアルゴリズムは、データが配置されているデータ・クラスであり、第2の待ち行列は、このキューのクラスがいくつかの操作がキューことです。

まず、キュー内のすべてを格納するためのフロント(キューの先頭、それはチームが外に起こっている、である)、リア(永遠に0を指し、ここでキューの末尾)が含まキューが(とき時空の前の要素があるキューのデフォルト、のようになり、データをキューに入れられました彼リアポイント)MAXSIZE(キュー長)の4つのプロパティ

アプリケーションノート:

1つのキュー初期化:リア0に初期化キューMAXSIZEとしてキューに渡されたパラメータを生成する、フロントキューのみ正面、この時点で0に設定され、後の要素を0に彼を指し

 

2.チーム:キューが満杯であるかどうか(前後==のMAXSIZE)、チップの完全な場合、Ruoguoはフルフロント+ 1を聞かせていないが、その後、新しいに、つまり(画像を移動する前に、キュー内のすべての要素を聞かせて尾の位置を聞かせて)と終了位置+1チームにデータオブジェクトを生成します。この時、チームが成功しました!

3.チーム:空でない場合は、キューが空であるかどうかを判断する(フロント==リア)、などの空のヒントとしては、オブジェクトは、チームが成功し、フロント-1(後方1を移動する)前に指摘し、削除します!

ます。http://blog.csdn.net/binbin1129/article/details/5649010からの振替

コードをコピー
<?PHP 
/ ** 
* PHPキューアルゴリズム
*   
*オン2010年6月4日作成
*著者行った事が
* QQ:281 443 751 
* Eメール:[email protected] 
** / 
クラスデータ{ 
    //データ
    プライベート$データ; 
    
    パブリック関数の__construct (データ$){ 
        の$ this - > = $データデータ; 
        $データエコー。 ":!チーム<BR>に兄弟"; 
    } 
    
    パブリック関数のgetDataは(){ 
        しますreturn $ this->データ; 
    } 
    パブリック関数__destruct() { 
        。>データを返します$ this-エコー":!<BR>へ行く兄を"; 
    } 
} 
クラスキュー{ 
    $前面保護; //チームのヘッド
    保護さ$リア; //エンドチーム 
    $キュー=配列( '0保護 ' => ' キューテールを'); / /ストアキュー
    保護$ MAXSIZE;の//最大数
    
    パブリック関数__construct($サイズ){ 
        の$ this - > INITQ($サイズ); 
    } 
    //キュー初期化
    プライベート関数INITQ($サイズ){ 
        ;の$ this - >フロント= 0 
        の$ this -を= 0> REAR; 
        の$ this - > MAXSIZE = $サイズ; 
    } 
    //ヌルの分析チーム
    公共QIsEmpty機能(){ 
        返します$ this->フロント==ます$ this-> REAR; 
    } 
    //分析チームフル
    パブリック関数QIsFull( ){ 
        リターン(の$ this - >フロントの$ this - >リア)==の$ this - > MAXSIZE; 
    } 
    //最初のチームデータを取得 
    //エンキュー
    パブリック関数INQ($データ){ 
    パブリック関数getFrontDate(){
        しますreturn $ this->キュー[ます$ this->フロント] - >のgetData(); 
    } 
        もし(の$ this - > QIsFull())$のデータをエコー":我一来咋就满了(队满不能入队、请等待!)<BR>を!";。
        他の{ 
            の$ this - >フロント++; 
            ($ I =の$ this - >フロント;>の$ this - >リアI $、$ I - )のために{ 
                //エコー$データ。
                もし(の$ this - >キュー[$ i])と解除(の$ this - >キュー[$ i])と、
                の$ this - >キュー[$ i]を=の$ this - >キュー[$ I-1]; 
            } 
            の$ this - >キュー【の$ this - >リア+ 1] =新データ($データ)。
            //ますprint_r(の$ this - >キュー)。
            //エコーの$ this - >フロント。
            エコー'入队成功<BR>!';
        (の$ this - > QIsEmpty()の場合 )エコー"! チームは、チームの<BR>を空することはできません";
            this- $> front--; 
            //ますprint_r(の$ this - >キュー); 
            //エコーの$ this - >フロント; 
            "!チームが成功<BR>"エコー; 
        } 
    } 
} 
$ qを=新しい新しいキュー(3) ; 
$ Q-> INQ( "苗"); 
$ Q-> INQ( 'マ元帥'); 
$ Q-> INQ( 'スケート'); 
$ Q-> INQ( 'チャン史家'); 
$ Q-> OUTQ(); 
$ q-で> INQ( "周Ruixiao"); 
$ q-で> OUTQ(); 
$ q-で> OUTQ(); 
$ q-で> OUTQ(); 
$ q-で> OUTQ();

 

おすすめ

転載: www.cnblogs.com/guiyishanren/p/11563879.html