解決方法
(解決方法的實現**可能還存在著問題,但思路是正確的。)
#include
#include
intread()
;int i=
0,a[
100000];
intmain()
k++;}
k=0;
j++;}
printf
("第%d次top-10="
,n+1);
for(j=
0;j<
10;j++
)printf
("\n");
j=0;
} end=
clock()
; runtime=
(double
)(end-start)
;printf
("程式執行時間為%f毫秒(ms)\n"
,runtime)
;return0;
}int
read()
fclose
(data)
;}
#include
#include
#include
intread()
;int i=
0,a[
100000];
intmain()
;read()
;for
(int n=
0;n<
10;n++
) k++;}
b[j]
=max;
a[num]=1
;}printf
("第%d次top-10="
,n+1);
for(j=
0;j<
10;j++
)printf
("\n");
} end=
clock()
; runtime=
(double
)(end-start)
;printf
("程式執行時間為%f毫秒(ms)\n"
,runtime)
;return0;
}int
read()
fclose
(data)
;}
#include
#include
#include
intread()
;int i=
0,a[
1000000];
intmain()
;int k=
0,x=
0,j=0;
read()
;for
(int n=
0;n<
1000000
;n++)}
} j++;}
printf
("第%d次top-10="
,n+1);
for(k=
9;k>=
0;k--
)printf
("\n");
} end=
clock()
; runtime=
(double
)(end-start)
;printf
("程式執行時間為%f毫秒(ms)\n"
,runtime)
;return0;
}int
read()
fclose
(data)
;}
備註#include
clock_t start,end;
start=
clock()
;float runtime;
end=
clock()
;runtime=
(double
)(end-start)
;printf
("程式執行時間為%f毫秒(ms)\n"
,runtime)
;
int i=
0,a[
1000000];
intread()
fclose
(data)
;}
12960
56028628
9692
2842
30927
程式設計練習 選擇排序
問題描述 假設使用者通過鍵盤輸入乙個整形數列。編寫乙個程式,將其按照從小到大的順序重新排列。問題分析 假設有n個資料將要參與排序操作,則具體的排序過程可以描述為 首先從n個資料中選擇乙個最小的資料,並將它交換到第1個位置 然後再從後面n 1個資料中選擇乙個最小的資料,並將它交換到第2個位置 依次類推...
線性時間選擇 TOP K
問題描述 找出乙個陣列中第k小的元素,時間複雜度為o n 解法 1.首先大家都會想到的解法是排序,之後找出第k個元素,但是排序的時間複雜度不符合要求,或者需要額外的空間。2.利用快排的思想,以樞紐 隨機得到 為界,將陣列分為2部分,一部分小於等於這個樞紐值,一部分大於這個樞紐值,與快排不同的是,我們...
程式設計練習三
程式一 編寫函式void count char a,char w 10 int n,int b 功能是 統計 w指向的陣列中的 n個單詞在 a指向的字串中各自出現的次數 將非字母字元看作單詞分割符 擰將統計結果依次儲存在 b指向的陣列中。include include include void co...