複製鏈接
請複製以下鏈接發送給好友

選擇法

鎖定
現代伊斯蘭教法改革過程中經常採取的一種靈活變通的方法。系阿拉伯語“泰哈尤爾”的意譯,意即根據社會立法需要,在各種不同意見中加以廣泛的選擇,作為立法的法理依據,以增強教法的適應性。
中文名
選擇法
外文名
Takhayyur
出現時間
20世紀50年代後
出現地點
中東地區的阿拉伯伊斯蘭國家

目錄

選擇法簡介

選擇法(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;
}
}
改進後的選擇法排序,工作量明顯減少。