当前位置: 代码迷 >> C语言 >> [求助]有一个数组,我想进行插入操作,编译通得过,可是没有达到我所预期的 ...
  详细解决方案

[求助]有一个数组,我想进行插入操作,编译通得过,可是没有达到我所预期的 ...

热度:104   发布时间:2007-03-14 15:39:31.0
size 加了1,可数组空间还是10吧
----------------解决方案--------------------------------------------------------
看看第二楼,第六楼和第八楼.
----------------解决方案--------------------------------------------------------
恩  就如楼上所说的,数组的大小并没有变。能否给我改一下呀?
----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int a[11];
}slt;

void insertline(slt *p,int x)
{
int i;
int n=0;
for (i=0;i<10;i++)
if (x>p->a[i])
n=i+1;
for (i=10;i>n;i--)
p->a[i]=p->a[i-1];
p->a[n]=x;
}

void main()
{
int n,i;
printf("Enter the number:\n");
scanf("%d",&n);
slt *q,b;
for ( i=0;i<10;i++)
b.a[i]=i;
q=&b;
insertline(q,n);
for (i=0;i<11;i++)
printf("%d ",q->a[i]);
printf("\n");
}


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

谢谢哟,对了。呵呵。。


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

其实这样的程序不需要写得那么复杂,还有要对数组有一定理解,希望楼主会更大进步。


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

插入的话最好用链表,用顺序表太浪费时间


----------------解决方案--------------------------------------------------------
这个程序 我没编过.我现在就去编个

就用数组做.a b c d e f g 现在要在c与d之间插个z.
再做个 在原来的数组中删个 e;

要求2个数组要原来的排列.大家和我一起做
----------------解决方案--------------------------------------------------------
  相关解决方案