c语言随机函数排序 随机快速排序c语言( 三 )


int i;
int c;
i = 1;
while(1)
{
c = 2 * i;
if(cn)
break;
if(c + 1 = ndata[c + 1]data[c])
c++;
if(data[i] = data[c])
break;
swap(data, c, i);
i = c;
}
}
static void heapsort(int data[], int n)
{
int i;
for(i = 2; i = n; i++)
{
siftup(data, i);
}
for(i = n; i = 2; i--)
{
swap(data, 1, i);
siftdown(data, i - 1);
}
}
extern void heap(int a[], int n) //堆排序
{
int *p;
int i;
p = (int *)malloc((n + 1) * sizeof(int));
if(!p)
{
perror("malloc");
}
for(i = 0; in; i++)
*(p + i + 1) = a[i];
heapsort(p, n);
for(i = 0; in; i++)
a[i] = *(p + i + 1);
free(p);
}
基数排序根据c语言随机函数排序你是N进制数c语言随机函数排序,申请N个队列,以空间换取时间,排序复杂度为线性o(n)
关于c语言随机函数排序和随机快速排序c语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读