房天下 > 房天下问答 > 业主生活 > 其他
  • 帮我解释一个C语言问题

    //在有序顺序表中插入x,插入后仍为有序的。//递增排序顺序表#define length 256#include "stdio.h"#include "stdlib.h"struct { int a[length]; int n; int listsize;}L;void sort(int *b,int n){ int j,i,k,temp; for(i=0;i<n;++i) { j=i; for(k=i+1;k<n;k++) if (b[k]<b[j]) { j=k; } if(j!=i) { temp=b[j]; b[j]=b[i]; b[i]=temp; } } };//sort has been true//插入函数void insert(int *b,int x,int n){ int i,j=n,temp; for(i=0;b[i]<x&&i<n;i++); while(j>i) { b[j]=b[j-1]; j--; } b[i]=x;}main(){ int i; int x; printf("请输入表中数据个数n\n"); scanf("%d",&L.n); if (L.n>length) { printf("溢出"); return 0; } for(i=0;i<L.n;i++) {printf("请输入表中数据a[%d]\n\n",i); scanf("%d",&L.a[i]); }//print data over sort(L.a,L.n); for(i=0;i<L.n;i++) printf("%d\n",L.a[i]); printf("please input the number you want to insert\n"); scanf("%d",&x); insert(L.a,x,L.n); for(i=0;i<=L.n;i++) printf("%d\n",L.a[i]);}这段程序的子函数时怎样将原数据改变顺序或者插入的呀?我怎么想不明白,指针不是调用地址么,地址的转换怎么会导致数据的调换呢?

    提问者:pengtaoxuan

    发布于2011-01-01

共1个回答
  • abo7462 丨Lv 4
    可以从后面向后写程序啊,这样你要的算法就可以实现了!我能帮你用Java写,可能你不要!
    +1 2011-01-01 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。