2016-04-11 10 views
-3

ノードのリンクされたリストを作成し、次のフィールドに加えて2つのフィールドに2つのint値を保持するメイン関数を作成したい(メインクラスの外側に構造ノードを作る最初のintはノードnumのカウントです。もう1つのintは、1から始まるフィボナッチシーケンスの次の番号です。新しいノードの2番目のフィールドの値が1番目のフィールド* 1000の値を超えるまで、リストにノードを追加し続けます。ノードのリンクされたリストを作成する

各ノードはカウントを1行に出力します。 (リンクされたリストに最終ノードを追加しないでください)。基本的に2列目の値を1行に5列ずつ表示する必要があります。

出力は次のようになります。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 

1 1 2  3  5 
8 13 21 34 55 
89 144 233 377 610 
987 1597 2584 4181 6765 
10946 17711 

を私は構造体のノードを作成する方法を知っていると私はフィボナッチコード

#include <stdio.h> 
#include <stdlib.h> 

typedef struct node { 
    int x; 
    int y; 
    struct node * next; 
} node_t; 

int main() 
{ 
    int first = 0, second = 1, nxt, c; 
    int num = 0; 


    for (c = 1 ; c < 23 ; c++) 
     { 
    if (c <= 1) 
     nxt = c; 
    else 
     { 
     nxt = first + second; 
     first = second; 
     second = nxt; 
     } 
    printf("%d\n", nxt); 

     } 

    return 0; 
} 

を知っているが、基本的にノードの一部とが必要です。

何か助けや指導をいただければ幸いです。

答えて

1

ノード

の作成単一ノードは、動的なメモリ割り当て(malloc関数)を使用して作成しなければならない、(create_node参照)

リンクリスト作成

最初の項目への1つのポインタ、別のポインタが必要curr_itemする。最初の項目はfirst_nodeに格納する必要があります。各アイテムを作成した後、現在のアイテムに追加する必要があります。 curr_nodeを最後の項目を指すように更新する必要があります。次のコードは、リンクリストの作成例を示しています。

node_t *create_node(int nr, int fib); 
int main() 
{  
     node_t *first_node=NULL; /* First node */ 
     node_t *curr_node=NULL; /* Current node */ 
     node_t *tmp_node=NULL; 
     /* Creating a list of 20 items*/ 
     for(i=0;i<20;i++){ 
     if (first_node==NULL){ 
      curr_node=create_node(i,i*10); 
      first_node=curr_node; 
     } 
     else{ 
      curr_node->next=create_node(i,i*10); /*appending to current */ 
      curr_node = curr_node->next;   /* make it as current */ 
     } 
     } 
     i=0; 
     /* Traversing Linked list */ 
     for(tmp_node=first_node;tmp_node!=NULL;tmp_node=tmp_node->next){ 
     printf("%d --- %d\n",tmp_node->x, tmp_node->y); 
     i++; 
     } 
    } 
    node_t *create_node(int nr, int fib){ 
     node_t *node; 
     node = (node_t*) malloc(sizeof(node_t)); 
     node->x=nr; 
     node->y=fib; 
     node->next=NULL; 
     return node;  

     } 

良いリソースが

「リンクリストの実装C」Google検索を行うには、インターネット上で利用可能です
関連する問題