線形リスト関連演習/課題

ポインターを利用した線形リストの演習課題

ポインタを利用した線形リストに対して、以下の処理をした場合の過程をイメージ図と対応するプログラムコードで書け
  1. データを末尾に追加する場合
  2. データを先頭に追加する場合
  3. データを途中に追加する場合

  4. 先頭のデータを削除する場合
  5. 末尾のデータを削除する場合
  6. 途中のデータを削除する場合

  7. データを入れ替える場合
上記問題は、片方向、双方向、連結、重連結のいずれの線形リストの場合でも書けるようになること。





プログラム作成演習

ノードを表す構造体Node (kadai.cppファイル)
//ノードを表す構造体
typedef struct _node{
char *name;
struct _node *next;
} Node;

ノードを生成する関数allocNode(kadai.cppファイル)
Node* allocNode(){
Node *node;
node = (Node *)malloc(1);
node->next=NULL;
return node;
}

演習用関数kadai05_1(kadai.cppファイル)
void kadai05_1(){

Node *head,*node,*now;

node = allocNode();
        head = now = node;

now->name="あああ";


now=head;
while(now!=NULL) {
printf("%s\n",now->name);
now=now->next;

}


}




循環、重連結リストの演習問題




ċ
algo-win32-template20140605.zip
(1365k)
Y OCHI,
2014/06/04 20:53
Comments