選擇法

現代伊斯蘭教法改革過程中經常採取的一種靈活變通的方法。系阿拉伯語“泰哈尤爾”的意譯,意即根據社會立法需要,在各種不同意見中加以廣泛的選擇,作為立法的法理依據,以增強教法的適應性。

簡介

選擇法(Takhayyur)

20世紀50年代後,中東地區的阿拉伯伊斯蘭國家在修訂教法過程中多採取這種方法,旨在教法淵源的範圍內修訂律法,而儘量避免直接引進外來法的原則。主要有兩種情況:或在某一教法學派內部加以選擇,或突破界限在 遜尼派四大教法學派之間加以廣泛的選擇取捨,甚至以歷史上默默無聞的教法學家的意見為據。例如,1957年突尼西亞在制定《私人身份法》時,在涉及余產處分問題上就擯棄了馬立克教法學派過時的原則,而選擇了哈乃斐教法學派的原則。該法規定:一筆遺產在份額繼承人中分配後仍有盈餘,而又沒有父系繼承人時,則應歸還份額繼承人中按比例分配。如按流行於北非的馬立克派傳統,余產應收歸國有。

計算機排序的一種

所謂排序是,就是整理表中的記錄,使之按關鍵字遞增(或遞減)次序排列起來。常用的排序算法有:冒泡法、選擇法、插入法、快速排序法、堆排序法、歸併排序法等。

選擇法舉例

#include <stdio.h>

#define N 10

main()

{

int a[N],i,j,temp;

printf("Input 10 numbers:\n");

for(i=0;i<N;i++)

scanf("%d",&a[i]);

for(i=0;i<N-1;i++) {

for(j=i+1;j<=N-1;j++)

if(a[i]<a[j])

{ temp=a[i];

a[i]=a[j];

a[j]=temp;}

}

printf("The sorted numbers:\n");

for(i=0;i<N;i++)

printf("%d ",a[i]);

}

這個算法可以進一步改進

for(i=0;i<N-1;i++)

{

k=i;

for(j=i+1;j<=N-1;j++)

if(a[j]>a[k]) k=j;

if(i!=k)

{ temp=a[i];

a[i]=a[k];

a[k]=temp;

}

}

改進後的選擇法排序,工作量明顯減少。

相關詞條

相關搜尋

熱門詞條

聯絡我們