免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3930 | 回复: 11
打印 上一主题 下一主题

[C] 小弟刚写个排序程序,望大侠们点评 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-02 00:32 |只看该作者 |倒序浏览
用指向指针的 指针的方法对N个整数进行排序!要求讲排序 单独写成一个函数,N和各整数在主函数中输入,最后在主函数中输出!

#include<stdio.h>
#include<>

void sort(int **s, int n)
{
  int i, j, temp;
  for(i = 0; i<n-1; i++)
  {
    for(j=0; j<n-i-1; j++)
    {
     if(*(*s+j) > *(*s+j+1)
     {
        temp = *(*s+j);
        *(*s+j) = *(*s+j+1);
        *(*s+j+1) = temp;
     }
    }
  }
}

int main()
{
  int n, i;
  int *p, *h, *s;
  printf("Please input a number:");
  scanf("%d",&n);
  s = h = p = (int *)malloc(sizeof(int) *n);
  printf("Please input N number :");
  for(i = 0; i<n; i++)
  {
     scanf("%d", p++);
  }
  sort(&h, n);
  for(i = 0; i<n; i++)
  {
    printf("the N number is:%d", *s);
    s++;
  }
  return 0;
}

请多多点评!谢谢!笔误,少写个循环。。。(已修改)

[ 本帖最后由 angele25eeast 于 2009-3-2 09:15 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-03-02 08:43 |只看该作者
和qsort相比有何不同或优点?

论坛徽章:
0
3 [报告]
发表于 2009-03-02 08:43 |只看该作者
首先有必要使用二级指针么?

论坛徽章:
0
4 [报告]
发表于 2009-03-02 08:45 |只看该作者
还有你这个排序能达到要求么?

论坛徽章:
0
5 [报告]
发表于 2009-03-02 09:04 |只看该作者
原帖由 gawk 于 2009-3-2 08:43 发表
首先有必要使用二级指针么?



因为这是题目要求的,请详细看一下题目!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
6 [报告]
发表于 2009-03-02 09:06 |只看该作者
这个明显不能达到要求嘛!!!
除了个别算法,大部分排序算法都需要双重循环!!!

论坛徽章:
0
7 [报告]
发表于 2009-03-02 09:07 |只看该作者
原帖由 gawk 于 2009-3-2 08:45 发表
还有你这个排序能达到要求么?


针对排序算法没有要求,所以我用了比较简单的冒泡,关键在动态分配内存和函数调用方面。
经本人测试应该可以达到要求。
谢谢兄弟能给提出问题,我还需要学习。

论坛徽章:
0
8 [报告]
发表于 2009-03-02 09:09 |只看该作者
原帖由 雨过白鹭洲 于 2009-3-2 08:43 发表
和qsort相比有何不同或优点?


这是冒泡,优缺点可看一些资料,这个程序的关键是动态分配内存和子函数调用。

论坛徽章:
0
9 [报告]
发表于 2009-03-02 09:11 |只看该作者
原帖由 angele25eeast 于 2009-3-2 09:04 发表



因为这是题目要求的,请详细看一下题目!


不用二级指针应该也可以做到吧

只是改变元素的值

论坛徽章:
0
10 [报告]
发表于 2009-03-02 09:17 |只看该作者
原帖由 pFreeStyle 于 2009-3-2 09:11 发表


不用二级指针应该也可以做到吧

只是改变元素的值


当然可以,这里涉及到子函数调用问题,指针类型不匹配。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP