リスト構造

/*
  Program    : list.c
  Comment    : リスト構造
*/

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

#define FALSE 0
#define TRUE  !FALSE

typedef struct Node{
  int num;
  struct Node *next_ptr;
}node;

node *start_ptr = NULL;

void ins(int idata){
  node *p = start_ptr;
  
  start_ptr = (node *)malloc(sizeof(node));
  if (start_ptr == NULL) puts("Not enough memory!"), exit(0);

  start_ptr->num = idata;
  start_ptr->next_ptr = p;
}

int main(){
  int idata;
  node *p;
  
  puts("Enter a sequence of integers:");
  while(scanf("%d", &idata) == TRUE) ins(idata);
  
  puts("In reverse order:");
  for(p = start_ptr; p != NULL; p = p->next_ptr){
    printf("%5d-", p->num);  /* アドレスと値の出力へ更新しなさい */
  }
  puts("/end/");
  
  return(0);
}
/*************************************************************** Result
Enter a sequence of integer:
2
3
5
7
11
13
17
19
23
29
31
.
In reverse order:
   31-   29-   23-   19-   17-   13-   11-    7-    5-    3-    2-/end/
**********************************************************************/


添付ファイル: filelist.c 191件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-07-09 (木) 08:37:15 (3696d)