Linked list


魔法使いの卵  2005-08-24 20:54:33  No: 58750  IP: 192.*.*.*

こんにちわw
今Linked  Listを作ろうとしてるんですが、
表示がどうしても逆から表示されます。
なぜでしょうか?
コードはしたです。
お願いします。
OS    winXP
Visual C++

#include <iostream>
using namespace std;
struct NODE{
  int data;
  NODE *link;
};

struct List{
  NODE *head;
  NODE *pOld;
  int count;
};

void printList(List list);

int main(){
  //リストの初期化
  List list;
  int array[] = {3,6,12,4,2};
  list.head = NULL;

  for(int i = 0 ; i < 5 ; i++){
    //ノードの初期化
    //ノードの初期化されたかチェック
    NODE *pNew;
    if(!(pNew = new NODE)){
      return -1;
    }
    pNew->data = array[i];
    pNew->link = list.head;
    list.head = pNew;
    list.count++;
  }
  printList(list);
  return 0;
}

void printList(List list){
  int nodeNo;
  if(list.count == 0){
    cout << "Nothing in list.\n" << endl;
  }else{
    cout << "\ncontents of List" << endl;
    nodeNo=0;
    NODE *pWalk = list.head;
    while(pWalk){
      cout << nodeNo << "\t" << pWalk->data << endl;
      pWalk = pWalk->link;
      nodeNo++;
    }
  }
  cout << "\nThere are " << nodeNo << " nodes in the list" << endl;
}

編集 削除
おーん  2005-08-24 21:05:47  No: 58751  IP: 192.*.*.*

なぜってそういう風にプログラムされてるからです。
紙に図でも書いて追いかけていけばわかるはずです。

編集 削除
魔法使いの卵  2005-08-24 21:12:02  No: 58752  IP: 192.*.*.*

分かりました。
少し考えて見ます。

編集 削除
まきじ  2005-08-24 21:17:43  No: 58753  IP: 192.*.*.*

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200508/05080051.txt

マルチポストは駄目ですよ。

編集 削除
PATIO  2005-08-26 16:30:34  No: 58754  IP: 192.*.*.*

マルチポストしてしまった場合は、マルチポストした全ての掲示板に
最終的な顛末と解決方法に関する報告をしてください。
マルチポストが嫌われるのはこの後始末をきちんとしない人がほとんどだからです。
後始末が面倒だと思うのであれば、マルチポストはしないようにしてください。

編集 削除