使用C中的迴圈和陣列編寫快速排序程式我用的是08版的vs

時間 2022-11-29 06:30:13

1樓:匿名使用者

dim j, k, i as integerdim temp as string

dim b() as string

dim d as string

d = me.label2.text

b = split(d.trim, " ")for j = 0 to b.length - 1for k = j to b.

length - 1if ctype(b(j), double) < ctype(b(k), double) then

temp = b(j)

b(j) = b(k)

b(k) = temp

end if

next

next

for i = 0 to b.length - 1me.label4.text += b(i) + " "

next

請編寫程式使用快速排序演算法對陣列中的資料進行降序排序。

2樓:

這是使用快速排序演算法對陣列中的資料進行降序排序的**,每次執行隨機生成 10 個數,c 語言遞迴實現。

#include

#include

#include

void swap(int *x, int *y)

void quick_sort_recursive(int arr, int start, int end)

if (arr[left] <= arr[end])

swap(&arr[left], &arr[end]);

else

left++;

if (left)

quick_sort_recursive(arr, left + 1, end);

}void quick_sort(int arr, int len)

int main()

3樓:

public static void main(string args) ;

int aftersort = fastsort(s, 0, 11);

}/**

* 1.先從數列中取乙個基準數

* 2.分割槽:將比這個數大的放右邊,小的放左邊* 3.對左右區間重複第2步,直到各區間只有乙個數* @param s

* @param l

* @param r

*/private static int fastsort(int s, int l, int r)

s[i] = x;

fastsort(s, l, i - 1); // 遞迴呼叫fastsort(s, i + 1, r);

}return s;

}請採納

c#利用快速排序法對給定的乙個整數陣列進行排序

4樓:匿名使用者

c#自帶排序方法,如:

int intarr = new int;

array.sort(intarr,(a,b)=>a.compareto(b));// 使用快速排序演算法排序

5樓:

先發一些牢騷:拿c#來做排序演算法,就算演算法再怎麼好也不會得到好的效能。一般研究演算法時最好在c/c++中,用這個研究演算法沒有多大的意義。

再說概念:快速排序法是一種不穩定排序演算法,一樓用冒泡演算法進行排序的,二樓用的類庫直接排序的,開發上是快速一點,但樓主可能只是想研究一下快速排序演算法而已。

可以看出實現了分段遞迴的方式再進行呼叫。

程式說明,因為前邊有low>=high的判斷的,其實與while(i=j bread;也能保證跳出。

6樓:小妻丐

int shuzu=new int;

for(int i+0;i<=shuzu.length;i++)}}

c#寫出對100個整數進行排序的程式,要求用兩種不同的排序方法 20

7樓:匿名使用者

lista = new list() ;

var v=a.orderby(p=>p);

8樓:

arr為包含100個整數的向量

冒泡法:

for(int j=1;jarr[i+1])}}插入排序法:

int length = arr.length;

for (int i = 1; i < length; i++)}}}

9樓:sxzy灬丨小柒

整數排序不就乙個正序乙個倒序嗎

c語言實現的快速排序中,請問為什麼*(array+i)=*(array+j)可以代表交換array[i]和array[j]

10樓:竹葉蘭之夏

沒學好指標和陣列,這個問題說起來有點麻煩。

比如有char array[10];那麼array就是陣列首位址,即&array[0];

也就是說array是乙個指標,指向array[0];

那麼array + i,等於&array[i];

那麼*(array + i) 等於array[i];

同理,那麼

*(array+i)=*(array+j)等於把array[j] 的內容賦值給了array[i];

我只幫你到這了。多想想,你會明白的。

11樓:匿名使用者

因為前者就是指向後者的

c 陣列操作,c 中陣列和陣列列表的區別

我給你改看看吧。你等下 求出陣列中每行的最大值。for int i 0 i 4 i 第行的最大值為 i 1,hmax 你直接這樣用就好,可以輸出最大值 每行的 求出陣列中每列的最大值。for int j 0 j 4 j 第列的最大值為 j 1,lmax 不過為什麼要留乙個位置保留最大最小值?你這樣寫...

c 中的do while的迴圈框

do while語句的特點是先執行迴圈體,然後判斷迴圈條件是否成立 其一般形式為 do語句 while 表示式 它是這樣執行的 先執行一次指定的語句 即迴圈體 然後判別表示式,當表示式的值為非零 真 時,返回重新執行迴圈體語句,如此反覆,直到表示式的值等於0為止,此時迴圈結束 可以用圖3.11表示其...

C 中的字串指標和陣列問題

你用的vc吧。include using namespace std main 這段 在vc下有警告,但不能執行。但是在codeblocks下編譯執行這段 沒有警告,可正確執行。vc的編譯器老一些了 vc下你改成char q new char 就可以了 這才為p分配了記憶體空間,執行q 0 s 並不...

VB程式中關於迴圈語句 「FOR」的使用

顯示最後結果有很多方法,我最喜歡用的是 msgbox s s就是你的結果。dim i s 就是申明變數,for i 1 to 100 step 2意思就是i從1迴圈到100,每步跨2,迴圈中s的值是前一迴圈s的值加上現在的i值,next i就是進行下一步迴圈。就是這樣 很久沒研究vb了,試著 給你解...

關於C語言的巨集定義中的迴圈,關於C語言巨集定義的問題

答案正確。主要是因為for迴圈語句 for x 10 x 50 p2 x,9 x 32 相當於是 for x 10 x 50 p x p1 9 x 32 也就是只有p x 處於for迴圈之內,而當程式執行到p1 9 x 32 這句時,此時x 51了。對的因為 for的迴圈體沒有 用 括起來.實際上預...