当前位置: 代码迷 >> C语言 >> [原创]二级指针对数组进行排序
  详细解决方案

[原创]二级指针对数组进行排序

热度:131   发布时间:2006-05-06 23:10:00.0
[原创]二级指针对数组进行排序

#include <stdio.h>
#include <conio.h>
#define N 10

void Input(int **pp);
void Sort(int **pp);
void Output(int **pp);

int main(void)
{
int a[N], *p, **pp;

p = a;
pp = &p;

Input(pp);

Sort(pp);

Output(pp);

getch();
return 0;
}

void Input(int **pp)
{
int i;

for (i = 0; i < N; i++)
{
scanf("%d", *pp + i);
}
}

void Sort(int **pp)
{
int i, j, temp;

for (i = 0; i < N - 1; i++)
{
if ( *(*pp + i) > *(*pp + i + 1) )
{
temp = *(*pp + i + 1);
for (j = i; j >= 0; j--)
{
if (*(*pp + j) > temp)
{
*(*pp + j + 1) = *(*pp + j);
}
else
{
break;
}
}
*(*pp + j + 1) = temp;
}
}
}

void Output(int **pp)
{
int i;

for (i = 0; i < N; i++)
{
printf("%d ", *(*pp + i));
}
}









----------------解决方案--------------------------------------------------------
为了表彰楼主的贡献,特发一个,以资鼓励
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
楼上的,我程序很莱吗
----------------解决方案--------------------------------------------------------
  相关解决方案