标题:[求助]用指针的方法写的一个插入排序,遇到问题了
只看楼主
柳翔
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-9
 问题点数:0 回复次数:1 
[求助]用指针的方法写的一个插入排序,遇到问题了
#include<stdio.h>
main()
{
void sub_sort(int *b,int l);
int a[10];
int *p=a;
int i;
for(i=0;i<9;i++)
{
printf("please input NO.%d",i);
scanf("%d",p++);
}
for(i=0;i<9;i++)
printf("%4d",*(a+i));

sub_sort(a,10);

printf("\n");
for(i=0;i<9;i++)
printf("%4d",a[i]);
getch();
}

void sub_sort(int *r,int l)
{
int *j;
int n,temp;
for(n=1;n<=(l-1);n++)
{
temp=*(r+n);
j=(r+n-1);
while(*j>temp)
{
*(J+1)=*j;
j--;
}
*(j+1)=temp;
}
}
参照那个数组的经典算法写的,麻烦各位给看看

[此贴子已经被作者于2007-7-14 7:34:49编辑过]

搜索更多相关主题的帖子: int 指针 sort void temp 
2007-07-13 21:16
世界彼岸
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-7-14
得分:0 
子函数循环次数设置有问题,应该从0开始

#include<stdio.h>
#include<conio.h>
main()
{
void sub_sort(int *b,int l);
int a[10];
int *p=a;
int i;
for(i=0;i<9;i++)
{
printf("please input NO.%d: ",i);
scanf("%d",p++);
}
for(i=0;i<9;i++)
printf("%4d",*(a+i));

sub_sort(a,10);

printf("\n");
for(i=0;i<9;i++)
printf("%4d",a[i]);
getch();
}

void sub_sort(int *r,int l)
{
int *j;
int n,temp;
for(n=0;n<=l-1;n++)
{
temp=*(r+n);
j=(r+n-1);
while(*j>temp)
{
*(j+1)=*j;
j--;
}
*(j+1)=temp;
}
}

你再试试

[此贴子已经被作者于2007-7-14 8:18:19编辑过]

2007-07-14 08:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-155204-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.145793 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved