10個の異なる変数が10進数であり、それらを最低から最高まで並べ替える必要があるとします。私はさまざまなプログラミング言語を使ってさまざまな分類アルゴリズムを理解していますが、この場合、いくつかの特別な構造を入力できるエンドユーザーアプリケーションでアルゴリズムを構築する必要があります。 "for"、 "while" 、 "if"は配列とは関係ありません。つまり、aが配列の場合はa [i]のようなものは扱えません。誰か私に手がかりを与えることができますか?どうもありがとう!配列なしで並べ替える
答えて
このような意味ですか?
C++コード:
void sort_4(int *a1, int *a2, int *a3, int *a4)
{
if (a1 == NULL) return;
if (a2 == NULL) return;
if (*a2 < *a1) swap(*a1, *a2);
sort_5(a1, NULL, NULL, NULL);
if (a3 == NULL) return;
if (*a2 < *a3) swap(*a2, *a3);
sort_5(a1, a2, NULL, NULL);
if (a4 == NULL) return;
if (*a4 < *a3) swap(*a3, *a4);
sort_5(a1, a2, a3, NULL);
}
あなたがコピー&ペーストしたり、コード生成スクリプトで10個の要素にそれを拡張することができます。
@Ke Yangに感謝しますが、この場合はメソッドを呼び出すことはできませんが、再帰的な方法はありません。 – chufabit
ソートを実装するために大量のコードを使用する必要があるかもしれません。例えば、バブルソートを用いて10個の要素を比較すると、約50倍である。コードを生成するスクリプトを書くことができます。 –
まあ、バブルソートをハードコードすることができます。たとえば、あなたが10個の変数、a, b, c, d, e, f, g, h, i, j
持って想像:
for (int x = 0; x < 9; ++x)
{
if (a > b) swap(a,b);
if (b > c) swap(b,c);
if (c > d) swap(c,d);
if (d > e) swap(d,e);
if (e > f) swap(e,f);
if (f > g) swap(f,g);
if (g > h) swap(g,h);
if (h > i) swap(h,i);
if (i > j) swap(i,j);
}
ひどく効率的ではないのですが、あなたはわずか10かそこらのアイテムを持っているUIアプリケーション内の非効率性を気づかするつもりはありません。
if (x < 9)
{
if (a > b) swap(a,b);
if (x < 8)
{
if (b > c) swap(b,c);
if (x < 7)
{
....
をしかし、それは、再び、それはあなたがそのような小さなリストについて気づいたことはありません与え、小さな効率化を急いで扱いにくくなると:あなたは、条件文を入れ子にすることによって、それは少しより効率的に行うことができます。
- 1. 単純な並べ替えではなく、配列の並べ替え
- 2. 配列の並べ替え
- 3. トリム並べ替え配列
- 4. Jsonpath並べ替え配列
- 5. PHPの配列で並べ替える
- 6. 配列をICompareで並べ替える
- 7. 配列をアンダースコアで並べ替える
- 8. javascriptで並べ替える配列
- 9. 配列をHeapSortで並べ替える
- 10. PHPで配列を並べ替える
- 11. RubyでTSortを使用して配列の並べ替えと並べ替え
- 12. C++の選択並べ替えなし並べ替え並べ替えなし
- 13. ツリー並べ替え中に配列が並べ替えられない
- 14. Javascript配列の並べ替えの機能の奇妙な並べ替え
- 15. Javascript配列の配列を子配列で並べ替える
- 16. 配列を数値で並べ替え
- 17. 配列をソートで並べ替え
- 18. クリックで配列を並べ替え
- 19. 配列をemu8086(アセンブラ)で並べ替え
- 20. PHP配列基準で並べ替え
- 21. JekyllでJSON配列を並べ替え
- 22. ループの前の配列の並べ替え配列の並べ替えを維持しない
- 23. numpyの配列に並べ替える
- 24. NSIndexPathsの配列を並べ替える
- 25. オブジェクトの配列を並べ替える
- 26. 配列を並べ替える - ノックアウトJS
- 27. 配列のJavaScriptを並べ替える
- 28. 配列を並べ替える(JavaScript)
- 29. javascript配列を並べ替えるforeach
- 30. 配列を並べ替える
問題は不明です。まず、 'a'で書くことができない場合、あなたはインプレースソートを行うことができません。あなたはそれをコピーしてソートし、その配列を返すことができます。または入力が与えられたときに最小/最大の要素を見つけなければならない場合は、 'heap'を使用してください。 – vish4071
配列をサポートしない言語でソートしようとしていますか? –
これはあなたの問題を解決します。http://stackoverflow.com/questions/25070577/sort-4-numbers-without-arrayあなたの番号で4を伸ばしてください。 –