スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リスト(3)

リストへデータを挿入する手続きを作成する。
また、正しく挿入ができているかを確認するために、リストの中身を表示する手続き(printList)も作成する。


#include
#include

typedef struct tagListNode{
struct tagListNode *prev;
struct tagListNode *next;
int data;
}ListNode;


int main(void){

/* declare */
int command;
ListNode *firstNode, *lastNode, *newNode, *thisNode;
firstNode = lastNode = NULL;


while(1){
int inputval;

puts("### select Menu###");
puts("1:insert 2:print list 3:quit");
scanf("%d", &command);

switch(command){

case 1:
newNode = malloc(sizeof(ListNode));
newNode->prev = newNode->next = NULL;
newNode->data = 0;

puts("input data");
scanf("%d", &inputval);

if(firstNode == NULL){
firstNode = lastNode = newNode;
firstNode->data = inputval;
}else{
lastNode->next = newNode;
lastNode = newNode;
lastNode->data = inputval;
}
break;

case 2:
puts("printing list...");
int idx=0;
for(thisNode=firstNode;thisNode!=NULL;thisNode=thisNode->next){
idx++; printf("[%d]:%d\n",idx,thisNode->data);
}
break;

case 3:
puts("end");
exit(EXIT_SUCCESS);
break;

default:
puts("command is invalid!");
exit(EXIT_FAILURE);
}
fflush(stdin);

}
}
スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。