2016-07-27 4 views
-3

は、次のように私はメソッドを持っている私は、Java に両端キューとして動作する方法のためのコードを作成しようとしてる私のコードです:デキューメソッドを定義して、要素を後面および前面に追加または削除する方法はありますか?ここ

  • void deque();

  • void addFront();

  • void addRear();

  • void RemoveFront();

  • void RemoveRear();

  • void isempty();

  • void size();

void displayArray();

私はすでに追加フロント用のコードを作るために管理していると私は思っていたならば、あなたの誰でものコーディングで私を助けることができます, RemoveFront()および RemoveRear()である。

import java.util.Scanner; 
public class DequeMethods implements Deque{ 
int array []; 
int limit; 
int CurrentFrontIndex=0; 
int CurrentRearIndex; 
Scanner in = new Scanner(System.in); 

@Override 
public void deque() { 
    // TODO Auto-generated method stub 
    System.out.println("input deque limit"); 
    this.limit = in.nextInt(); 

    array = new int [limit]; 

    for(int x = 0; x<limit; x++){ 
     array[x]=0; 
    } 

} 
@Override 
public void addFront() { 
    // TODO Auto-generated method stub 

    boolean Itemfull= false; 
    for(int x=0; x<limit;x++){ 
     if (array[x]==0){ 
      Itemfull= false; 
      CurrentFrontIndex = x; 
      break; 

     }else{ 
     Itemfull=true;} 
     if(Itemfull=true){ 
      System.out.println("input int value"); 
      int value = in.nextInt(); 

     int y; 
      for(y=CurrentFrontIndex; y>0;y--){ 
       array[y] = array [y-1]; 
      } 
      array [y]=value; 
     } 
    } 
} 

@Override 
public void addRear() { 
    // TODO Auto-generated method stub 

} 
@Override 
public void RemoveFront() { 
    // TODO Auto-generated method stub 

} 
@Override 
public void RemoveRear() { 
    // TODO Auto-generated method stub 

} 
+1

現在のところ、質問よりも暴言のように見えます。あなたの問題がより明確であることを説明する特定の質問をしてください。 –

+0

あなたはチェックできます - http://www.sanfoundry.com/java-program-array-deque/ –

答えて

0

(デ)キューが初めに空であるため、-1CurrentFrontIndexCurrentRearIndexを初期化して開始します。

addFirst()

void addFirst(int a){ 
    if(CurrentFrontIndex == -1){ 
     array[++CurrentFrontIndex] = a; 
     CurrentRearIndex++; 
    } 
    else if(CurrentFrontIndex > 0) 
     array[--CurrentFrontIndex] = a; 
    else 
     //cannot add to front 
} 

addLast()

void addRear(int a){ 
    if(CurrentRearIndex == -1){ 
     array[++CurrentRearIndex] = a; 
     CurrentFrontIndex++; 
    } 
    else if(CurrentRearIndex < array.length - 1) 
     array[++CurrentRearIndex] = a; 
    else 
     //cannot at to rear 
} 

RemoveFront()

void RemoveFront(){ 
    if(CurrentFrontIndex == CurrentRearIndex){ 
     CurrentFrontIndex = -1; 
     CurrentRearIndex = -1; 
    } 
    else if(CurrentFrontIndex >= 0) 
     CurrentFrontIndex++; 
    else 
     //array is empty; cannot remove 
} 

無効RemoveRear()

void RemoveRead(){ 
    if(CurrentRearIndex == CurrentFrontIndex){ 
     CurrentRearIndex = -1; 
     CurrentFrontIndex = -1; 
    } 
    else if(CurrentRearIndex <= array.length) 
     CurrentRearIndex--; 
    else 
     //array is empty; cannot remove 
} 

に注意してください:私はこの質問に答えにもかかわらずのみ、あなたがこのサイトに新しいしているあなたを助けるために、ちょうど質問をするための規範を知りませんここに。ご自身の評判のために、次のリンクを確認し、次回以降はこのウェブサイトの規定に従ってください。

Tour - Stack Overflow
How do I ask a question
Writing the perfect question
私はあなたがあなたのこの質問は非常に質の悪い、ほとんどunsalvageableであることを認識したいと思い♦How to ask questions the smart way

。あなたがこのような質問をし続けるなら、あなたはquestion banに直面することができます。

+0

申し訳ありませんが、これを指摘してくれてありがとう – user5232297

+0

@ user5232297ソリューションはあなたのために機能しましたか? – progyammer

+0

はいそれはかなりうまくいった – user5232297

関連する問題