计算机二级:C 三种排序算法实例代码计算机二级考试
文章作者 100test 发表时间 2009:04:30 05:23:54
来源 100Test.Com百考试题网
2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
快速排序:
int partition(int* a,int l,int r)
{
int i=l-1,j=r,v=a[r].
while(1)
{
while(a[ i]
while(a[--j]>.v) if(j<.=i) break.
if(i>.=j)
break.
swap(a[i],a[j]).
}
swap(a[i],a[r]).
return i.
}
void qsort(int* a,int l,int r)
{
if(l>.=r) return.
int i = partition(a,l,r).
qsort(a,l,i-1).
qsort(a,i 1,r).
}
插入排序:
void insertsort(int* a,int n)
{
int key.
for(int j=1.j
{
key = a[j].
for(int i=j-1.i>.=0&.&.a[i]>.key.i--)
{
a[i 1] = a[i].
}
a[i 1] = key.
}
}
冒泡排序:
void buble(int *a,int n)
{
for(int i=0.i
{
for(int j=1.j
{
if(a[j]
{
int temp=a[j].
a[j] = a[j-1].
a[j-1] = temp.
}
}
}
}