ptr->next->next->next->...
リーヨ T-Pistons を聞きながら。
結構子供向けの物が好きだったりします。
精神的に幼稚だからです
//シンプルなリストプログラム #include <stdio.h> #include <stdlib.h> typedef struct _node{ int data; struct _node *next; } NODE; void Insert(int n, NODE **head); void Print(NODE *head); int main(void) { int n, menu = 1; NODE *head = NULL; while (menu==1 || menu == 2) { printf("(1)Insert (2)Print (3)end\n->"); scanf("%d", &menu); switch (menu) { case 1: printf("data : "); scanf("%d", &n); Insert(n, &head); break; case 2: Print(head); break; } } return 0; } void Insert(int n, NODE **head) { NODE *new_node = (NODE*)calloc(1, sizeof(NODE)); NODE *ptr = *head; new_node->data = n; if (ptr == NULL || ptr->data > n) { *head = new_node; new_node->next = ptr; return; } for ( ;ptr->next != NULL;ptr = ptr->next) if (ptr->next->data > n) break; new_node->next = ptr->next; ptr->next = new_node; } void Print(NODE *head) { for (;head != NULL;head = head->next) printf("%d ", head->data); printf("\n"); }
非常に初歩的なリストプログラム(っていうか作る必要なくね?)
まぁ、代替できるんならしろよ。って感じですが
C++でリストを使うんならlistかvectorでしょうが、listは特定の値に直接アクセス出来ないんだろうか
まぁ、できたらリストじゃないか・・・
Print関数をlist使うかvector使うか考えると、vectorの方がいいのかな?
むっずかしいなぁもう。
追記:
list<int>::iterator it;とか宣言して「*it」とかやればアクセス出来るかも