6-11 求自定型別元素序列的中位數(25 分)
/*冒泡超時,採用了堆排序*/
ElementType Median( ElementType A[], int N )
{
int i,j;
float k;
int p,c;
for(i=(N-1)/2;i>=0;i--)
for(p=i,c=2*p+1;c<=N-1;)
{
if((A[c+1])&&(A[c+1]<A[c]))
c=c+1;
if(A[c]<A[p])
{
k=A[c];
A[c]=A[p];
A[p]=k;
}
p=c;
c=2*p+1;
} //最小堆
for(i=N-1;i>0;i--)
{
k=A[0];
A[0]=A[i];
A[i]=k; //調序
for(j=0;j*2+1<i;)
{
if(j*2+2<i)
{
if(A[j*2+1]>A[j*2+2])
j=j*2+2;
else
j=j*2+1;
}
else
j=j*2+1; //找到較小的孩子
if(A[j]<A[(j-1)/2])
{
k=A[j];
A[j]=A[(j-1)/2];
A[(j-1)/2]=k;
}
else break;
} //下滲
}
return A[(N-1)/2]; //要認真分析下標
}
相關推薦
6-11 求自定型別元素序列的中位數(25 分)
/*冒泡超時,採用了堆排序*/ ElementType Median( ElementType A[], int N ) { int i,j; float k; int p,c; for(i=(N-1)/2;i>=0;i--) for(p=i
pat6-11求自定型別元素序列的中位數
6-11 求自定型別元素序列的中位數(25 分) 本題要求實現一個函式,求N個集合元素A[]的中位數,即序列中第?N/2+1?大的元素。其中集合元素的型別為自定義的ElementType。 函式介面定義:ElementType Median( ElementType A[],
6-11 求自定類型元素序列的中位數(25 分)
\n 相關 n) 以及 std turn clu i++ 測試 6-11 6-11 求自定類型元素序列的中位數(25 分) 本題要求實現一個函數,求N個集合元素A[]的中位數,即序列中第?N/2+1?大的元素。其中集合元素的類型為自定義的ElementType。 函數接口定
6-5 求自定型別元素的最大值
本題要求實現一個函式,求N個集合元素S[]中的最大值,其中集合元素的型別為自定義的ElementType。 原題地址 ElementType Max( ElementType S[], int N ) { int i; ElementType a=S[0];
6-4 求自定型別元素的平均 (10 分)
[本題要求實現一個函式,求N個集合元素S[]的平均值,其中集合元素的型別為自定義的ElementType。 題目原址 ElementType Average( ElementType S[], int N ) { double sum=0; double averag
PAT基礎程式設計題目集——6-5 求自定型別元素的最大值
原題目: 本題要求實現一個函式,求N個集合元素S[]中的最大值,其中集合元素的型別為自定義的ElementType。 函式介面定義: ElementType Max( ElementType S[], int N ); 其中給定集合元素存放在陣列S[]中,正整數N是陣列元素個數
PAT基礎程式設計題目集——6-4 求自定型別元素的平均
原題目: 本題要求實現一個函式,求N個集合元素S[]的平均值,其中集合元素的型別為自定義的ElementType。 函式介面定義: ElementType Average( ElementType S[], int N ); 其中給定集合元素存放在陣列S[]中,正整數N是陣列元
6-5 求自定型別元素的最大值(10 分)
6-5 求自定型別元素的最大值(10 分)本題要求實現一個函式,求N個集合元素S[]中的最大值,其中集合元素的型別為自定義的ElementType。函式介面定義:ElementType Max( ElementType S[], int N ); 其中給定集合元素存放在陣列S
6-4 求自定型別元素的平均(10 分) 本題要求實現一個函式,求N個集合元素S[]的平均值,其中集合元素的型別為自定義的ElementType。
ElementType Average( ElementType S[], int N ){ ElementType ave,sum=0.0; for(int i=0;i<N;i++) sum+=S[i]; ave=sum/N; return ave;}把
7-1 兩個有序序列的中位數 (25 分)
已知有兩個等長的非降序序列S1, S2, 設計函式求S1與S2並集的中位數。有序序列A0,A1,⋯,AN−1的中位數指A(N−1)/2的值,即第⌊(N+1)/2⌋個數(A0為第1個數)。 輸入格式: 輸入分三行。第一行給出序列的公共長度N(0<N≤10
7-1 兩個有序序列的中位數(25 分)
已知有兩個等長的非降序序列S1, S2, 設計函式求S1與S2並集的中位數。有序序列A0 ,A1,⋯,AN−1的中位數指A(N−1)/2的值,即第⌊(N+1)/2⌋個數(A0為第1個數)。 輸入格式: 輸入分三行。第一行給出序列的公共長度N(0
6-1 兩個有序連結串列序列的合併 (15 分)
本題要求實現一個函式,將兩個連結串列表示的遞增整數序列合併為一個非遞減的整數序列。 函式介面定義: List Merge( List L1, List L2 ); 其中List結構定義如下: typedef struct Node PtrToNode; struct Node
6-2 兩個有序連結串列序列的合併 (14 分)
本題要求實現一個函式,將兩個連結串列表示的遞增整數序列合併為一個非遞減的整數序列。 函式介面定義: List Merge( List L1, List L2 ); 其中List結構定義如下: typedef struct Node PtrToNode; struct Node { E
兩個有序序列的中位數(30 分)
已知有兩個等長的非降序序列S1, S2, 設計函式求S1與S2並集的中位數。有序序列A0,A1,⋯,AN−1的中位數指A(N−1)/2的值,即第⌊(N+1)/2⌋個數(A0為第1個數)。輸入格式:輸入分三行。第一行給出序列的公共長度N(0<
6-1 線性表元素的區間刪除 (20 分)
給定一個順序儲存的線性表,請設計一個函式刪除所有值大於min而且小於max的元素。刪除後表中剩餘元素保持順序儲存,並且相對位置不能改變。 函式介面定義: List Delete( List L, ElementType minD, Elemen
6-1 陣列元素的區間刪除 (18 分)
給定一個順序儲存的線性表,請設計一個函式刪除所有值大於min而且小於max的元素。刪除後表中剩餘元素保持順序儲存,並且相對位置不能改變。 函式介面定義: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型陣列,儲存原始線性表的
6-2 jmu-Java-05集合-List中指定元素的刪除 (25 分)
6-2 jmu-Java-05集合-List中指定元素的刪除 (25 分) 編寫以下兩個函式 /*以空格(單個或多個)為分隔符,將line中的元素抽取出來,放入一個List*/ public static List<String> convertStrin
6-6 求單鏈表結點的階乘和(15 分) 本題要求實現一個函式,求單鏈表L結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。
int FactorialSum( List L ){ int max=0,sum=0; List p,head; head=L; p=head; while(p!=NULL) { if(max<p->Data) max=p->Dat
習題3.11 表達式轉換(25 分)浙大版《數據結構(第2版)》題目集
lang == lan 包括 設計程序 不用 運算 出現 加減 算術表達式有前綴表示法、中綴表示法和後綴表示法等形式。日常使用的算術表達式是采用中綴表示法,即二元運算符位於兩個運算數中間。請設計程序將中綴表達式轉換為後綴表達式。 輸入格式: 輸入在一行中給出不含
6-16 Topological Sort(25 分)
tin amp logs from print %d turn com pro Write a program to find the topological order in a digraph. Format of functions: bool Top