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的迴圈體沒有 用 括起來.實際上預...