C和指针之动态内存分配之输入很多整数进行排序
【摘要】 1、问题
读取一列整数,然后按升序排列它们,最后打印列表
2、代码实现
#include <stdio.h>#include <stdlib.h>/**此函数根据你给的比较条件进行快速排序,通过指针移动实现排序void qsort ( void * base, size_t num, size_t...
1、问题
读取一列整数,然后按升序排列它们,最后打印列表
2、代码实现
-
#include <stdio.h>
-
#include <stdlib.h>
-
/**
-
此函数根据你给的比较条件进行快速排序,通过指针移动实现排序
-
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );
-
**/
-
int compare(void const *a, void const *b)
-
{
-
int const *pa = a;
-
int const *pb = b;
-
return *pa > *pb ? 1 : *pa < *pb ? -1 : 0;
-
}
-
-
int main()
-
{
-
int *array, values, i;
-
//输入多少个数据
-
puts("输入整数个数据");
-
if (scanf("%d", &values) != 1 || values <= 0)
-
{
-
puts("非法的数据");
-
goto error;
-
}
-
//分配内存
-
array = malloc(values * sizeof(int));
-
if (array == NULL)
-
{
-
goto error;
-
}
-
//读取数据
-
for (i = 0; i < values; ++i)
-
{
-
printf("?");
-
if (scanf("%d", array
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78660934
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)