class test
{
static int arr[]={1,6,3,4,5,8,11};
static int s=0,temp=0,e=0;
public static void main(String [] args)throws Exception
{
QS(arr,0,arr.length-1);
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
public static void QS(int arr[] ,int i,int j)throws Exception
{
int key=i;
int low=i+1;
int up=j;
int temp=0;
System.out.println(key);
while(low<=up)
{
do{
low++;
}while(arr[low]<arr[key]);
do{
up--;
}while(arr[up]>arr[key]);
if(low<=up)
{
temp=arr[up];
arr[up]=arr[low];
arr[low]=temp;
}
}
System.out.println(low+"++++"+up);
temp=arr[up];
arr[up]=arr[key];
arr[key]=temp;
if(0<up-1)
QS(arr,i,up-1);
if(low< arr.length-2)
QS(arr,low,j);
}
}
0
A
答えて
2
は宿題のように見えるのロジックをしないのです場所を見つけてくださいすることができます正常に動作していない、ここに私のアドバイスです:
分割工程の後、値と一緒にあなたの配列をプリントアウトピボットの位置を確認し、パーティションが正しく行われたことを視覚的に確認します。それが(私がそうであると思われる)場合は、いくつかのprintステートメントを追加するか、デバッガを使用して、プログラムがどこに間違っているかを理解してください。
パーティション分割が機能したら、再帰に移行します。これは比較的簡単です。QS
が正しいi
とj
(両方の時間)を呼び出していることと、ベースケースが正しく処理されていることを確認するだけです。
1
私はピボットを得ることに問題があると思います。パーティション化のための別の方法を書いて、おそらく同じものを印刷して、正しいピボットを印刷しているかどうかを確認してみてください。 クイックソートについては以下のリンクを参照してください。また、整理されたコードスニペットも提供しています。
+0
私はパーティションの最初の要素としてピボットを取っています、これはクイックソートの1つの変形です。 – Pramod
関連する問題
- 1. Symfony2のdev.logは週以来、私は見ている。このphp.INFOライン
- 2. Scalaは、私は以下のコードを持って未来の
- 3. はTkinter-は、私は早くここに来たのリストボックス
- 4. 私たちはこの関数をクイックソートと呼ぶことができます
- 5. スティッキーUINavigationbar RefreshControlはiOSの11以来
- 6. グラファイト:今日の朝6以来、sumSeries()は
- 7. DisplayLeakActivity私はLeakCanaryに問題がありながら、以来
- 8. Cocoapods:dyldのライブラリは、私はこの問題を持っている数日以来そう
- 9. が、私は将来のリリース
- 10. 私は、このガイド以下のよFirebaseListAdapter
- 11. 改行はどこから来ますか?私はPythonで
- 12. 画像は、私はこれが来てい順次
- 13. は私のスタックフレームは、従来の1
- 14. のPHPUnit:3週間以来
- 15. 私のキャンバスアプリでは、ユーザーがどこから来たのか
- 16. 私の421のメモリリークはどこから来ますか?
- 17. この同時クイックソートの実装は正しいですか?
- 18. 私のCSSはどこから来ますか?
- 19. MAPファイル解析 - 私のコードサイズはどこから来ますか?
- 20. 「どこから」私はonResumeメソッドに来たのですか?
- 21. 私のウェブトラフィックはどこから来ていますか?
- 22. は、どのように私はここで2以下
- 23. は、私はここに、以下の配列持つPHP
- 24. クイックソートに失敗したこのテストはなぜですか?
- 25. これはクイックソートの有効な実装ですか?
- 26. 、私は2日以来立ち往生していたパス文字列
- 27. は今朝、私はこのエラーを受信開始以来、私は、Azureの中で展開されたアプリケーションを持っているのAzure
- 28. 実行時に実行され、この方法以来mockito
- 29. 私のフライウェイ・スクリプトが、私はこのtuttorialを以下のよ
- 30. 私は新しいソーティングアルゴリズムを発明しましたか?またはこれはクイックソートと同じです
私は2時間以来、私は解決策を得ていません – Pramod