首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于指针的冒泡排序有关问题。

2013-12-19 
关于指针的冒泡排序问题。。。大哥大姐帮忙看一下这个程序有什么问题,为什么排序不成功#includestdio.hint

关于指针的冒泡排序问题。。。
大哥大姐帮忙看一下这个程序有什么问题,为什么排序不成功
#include<stdio.h>

int main()
{
    int a[9]={5,7,8,4,2,3,11,47,89},n=9;
    void sort_out(int *p,int n)
    {
        int temp,i,j;
        for(i=0;i<n;i++)
        {
            printf("%4d",*(p+i));
        }
        for(i=0;i<n;i++)
            for(j=0;j<n-i;j++)
            {
                if(*(p+j)>*(p+j+1))
                {
                    temp = *(p+j);
                    *p = *(p+j+1);
                    *(p+j+1) = temp;
                }
            }
    }

    sort_out(a,n);

    printf("\n");
    for (n=0;n<9;n++)
    {
        printf("%4d",a[n]);
    }
    return 0;
}
是不是指针的使用上出了问题?
[解决办法]

 if(*(p+j)>*(p+j+1))
                {
                    temp = *(p+j);
                    *p = *(p+j+1);
                    *(p+j+1) = temp;
                }


*p应该是*(p+j)

热点排行