在C中初始化数组中的元素不会插入到另一个数据结构中

在C中初始化数组中的元素不会插入到另一个数据结构中,c,arrays,C,Arrays,我在这里用C创建了一个代码,在这里我声明并初始化了一个整数数组。我将把所有这些元素放在一个偏序树中。但是首先,在我创建一个heapify函数来满足POT属性之前,我首先测试了insert函数。但当显示所有元素时,将只显示一个元素,并且不会显示我声明的数组中的所有元素 以下是我的数据结构: typedef struct{ int arr[MAX]; int last; }Heap; 这是我调用initHeap()和insert()的示例主函数: 这是我的显示器(

我在这里用C创建了一个代码,在这里我声明并初始化了一个整数数组。我将把所有这些元素放在一个偏序树中。但是首先,在我创建一个heapify函数来满足POT属性之前,我首先测试了insert函数。但当显示所有元素时,将只显示一个元素,并且不会显示我声明的数组中的所有元素

以下是我的数据结构:

typedef struct{
    int arr[MAX];
    int last;        
 }Heap;
这是我调用initHeap()和insert()的示例主函数:

这是我的显示器()

void显示(堆A)
{
int x;
printf(“堆中的元素是:\n”);

对于(x=0;x< p>我认为您的C++ > ->最后=0 < /COD>应该是代码> A- >最后= x< /代码> .< /P> < P>我认为您的<代码> ->最后=0 < /代码>应该是代码> A- >最后一个X/<代码> .< /P>为什么这个标记的C++是C?我没有看到任何“显示”这里甚至是
insert
实现。为什么要发布不相关的代码,而忽略明显相关的?void insertToHeap(Heap*A,char x){if(A->last!=MAX-1){A->arr[A->last]=x;A->last+1;}否则{printf(\nHeap已满!\n”);}你的问题不清楚。也不要在评论中转储代码,请编辑你的原始问题。(参见C++/C/标签标签下的“编辑”按钮)<代码> A- >最后1;<代码> > >代码> A- >最后一个+ 1;< /Cord>为什么这个标记的C++是C++的?我看不到任何“显示”。这里甚至是
insert
实现。为什么要发布不相关的代码,而忽略明显相关的?void insertToHeap(Heap*A,char x){if(A->last!=MAX-1){A->arr[A->last]=x;A->last+1;}否则{printf(\nHeap已满!\n”);}我不清楚你的问题。也不要在评论中转储代码,请编辑你的原始问题。(请参见你那里的c++/c/arrays标签下的“编辑”按钮)
A->last+1;
-->
A->last+=1;
int main()
{
    int elems[] = {10, 20, 5, 3, 9, 16, 2, 11, 10, 1};
    int x;
    Heap rec;

    initHeap(&rec);

    for(x=0; x<MAX; x++){
       insertToHeap(&rec,elems[x]);         
    }


    getch();
    return 0;    
    }
void initHeap(Heap *A)
 {
     int x;

      for(x=0; x<MAX; x++){
          A->arr[x]=0;
       }
     A->last = 0;     
 }
void insertToHeap(Heap *A, char x)
{
     if(A->last != MAX-1){
         A->arr[A->last] = x;
         A->last+1;
         /*Function call to heapify the POT*/          
     }
     else {
          printf("\nHeap is full!\n");     
     }
 }
void display(Heap A)
{
     int x;

     printf("Elements inside the heap are: \n");
     for(x=0; x<MAX; x++){
           printf("%d ", A.arr[x]);
     }

     printf("\nLast available cell: %d", A.last);
 }