选择法

现代伊斯兰教法改革过程中经常采取的一种灵活变通的方法。系阿拉伯语"泰哈尤尔"的意译,意即根据社会立法需要,在各种不同意见中加以广泛的选择,作为立法的法理依据,以增强教法的适应性。
- 中文名称 选择法
- 外文名称 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;
}
}
改进后的选择法排序,工作量明显减少。