排序法是根据一些特定的标准(例如工作的复杂程度、对组织的贡献大小等对各个职位的相对价值)进行整体比较,进而将职位按照相对价值的高低排列出一个次序。其基本步骤是:
1、对排序的标准达成共识。虽然排序法是对岗位的整体价值进行评价而排序,但也需要参与评估的人员对什么样的“整体价值”更高达成共识,如责任更大,知识技能更高,工作更加复杂,环境因素恶劣等。
2、选定参与排序的职位。如果公司较小可以选取全部职位进行排序。
3、评定人员根据事先确定评判标准,对公司同类岗位的重要性逐一作出评判,最重要的排在第一位,次要的、再次要的顺次往下排列。
4、将经过所有评定人员评定的每个岗位的结果加以汇总,得到序号和。然后将序号和除以评定人数,得到每一岗位的平均序数。最后,按平均序数的大小,由小到大评定出各岗位的相对价值的次序。
直接插入排序的基本思想是:当插入第i
(i≥
1)
个对象时,前面的V[0],
V[1],
…,
v[i-1]已经排好序。这时,用v[i]的关键码与v[i-1],
v[i-2],
…的关键码顺序进行比较,找到插入位置即将v[i]插入,原来位置上的对象向后顺移。
用c实现的插入排序法,先输入10个数,然后利用插入排序法进行排序,将结果输出。
#include
"stdio.h"
#include
"conio.h"
main()
{
int
a[10],r[11]
int
*p
int
i,j
for(i=0i<10i++)
{
p=&a[i]
printf("please
scan
the
NO:
%d\n",i)
scanf("%d",p)
r[i+1]=a[i]
}
r[0]=1
for(i=2i<=10i++)
{
r[0]=r[i]
j=i-1
while(r[j]>r[0])
{
r[j+1]=r[j]
j--
}
r[j+1]=r[0]
}
for(i=1i<=10i++)
{p=&r[i]printf("form
min
to
max
the
NO:
%d
value=%d\n",i,*p)}
getch()
}
起泡排序:需反复比较相邻两个数的比较与交换这两种基本 *** 作。对相邻的两个数进行比较时,如果反面的数大于(或小于)前面的数,将这两个数进行交换,大的数(小的数)往前冒。
void
Sort(a,n)
/*排序*/
{
float
a[]
int
n
{
int
i
int
flag
float
t
do{
flag=0
for(i=0i<=n-2i++)
if(a[i+1]>a[i])
{
t=a[i]a[i]=a[i+1]a[i+1]=t
flag=1
}
}while(flag)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)