当前位置: 代码迷 >> C语言 >> [讨论]我们来看一下!
  详细解决方案

[讨论]我们来看一下!

热度:188   发布时间:2007-11-12 15:06:42.0
[讨论]我们来看一下!

这个程序我加入了二级指针,我怎么样在BubbleUp函数中,利用二级指针来实现排序?
#include<stdio.h>
int BubbleUp(int **array,int length);
int main()
{
int a[2][3]={3,4,7,8,2,1};
int *ptr=a[0];
int i;
int **p=&ptr;
BubbleUp(ptr,6);
for(i=0;i<6;i++)
printf("%d\t",ptr[i]);
getchar();
return 0;

}

int BubbleUp(int **array,int length)
{
int i,j, temp;
for(i=0;i<length;i++)
for(j=0;j<length-i-1;j++)
if(array[j]>array[j+1])
{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}

return 0;
}


----------------解决方案--------------------------------------------------------

已解决,谢谢www.bc-cn.net C论坛所有对我有帮助的人!
#include<stdio.h>
int BubbleUp(int **,int length);
int main()
{
int a[2][3]={3,4,7,8,2,1};
int *ptr=(int *)a;
int i,**p;
p=&ptr;
BubbleUp(p,6);

for(i=0;i<6;i++)
printf("%d\t",ptr[i]);
getchar();
return 0;

}

int BubbleUp(int **array,int length)
{
int i,j, temp;
for(i=0;i<length;i++)
for(j=0;j<length-i-1;j++)
if(*(*array+j)>*(*array+j+1))
{
temp=*(*array+j);
*(*array+j)=*(*array+j+1);
*(*array+j+1)=temp;
}

return 0;
}


----------------解决方案--------------------------------------------------------
呵呵LZ,我是师大滴.
感觉不需要弄到二级.
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int BubbleUp(int **array,int length);
int main()
{
int a[2][3]={3,4,7,8,2,1},*ptr=a[0],i;
BubbleUp(&ptr,6);
for(i=0;i<6;i++)
printf("%d\t",*(ptr+i));
printf("\n");
return 0;
}
int BubbleUp(int **array,int length)
{
int i,j,temp;
for(i=0;i<length-1;i++)
for(j=0;j<length-i-1;j++)
if(*(*array+j)>*(*array+j+1))
{
temp=*(*array+j+1);
*(*array+j+1)=*(*array+j);
*(*array+j)=temp;
}
return 0;
}
发迟了点点啊,呵呵。是不需要到二级!
----------------解决方案--------------------------------------------------------
版主那个师大啊?
----------------解决方案--------------------------------------------------------
只是学习二级指针,找不到例子。
----------------解决方案--------------------------------------------------------
C是不是代表运算符+,-,*,/
scanf("%c",&c);

----------------解决方案--------------------------------------------------------
C是不是代表运算符+,-,*,/
scanf("%c",&c);

----------------解决方案--------------------------------------------------------
  相关解决方案