Esempio n. 1
0
int main(){
    Item* listptr;
    int i;
    listptr = new_item(0);
    for (i=1; i < 6; i++){
        listptr=insert_front(listptr, i);
    }
    for (i=0; i < 6; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    listptr = remove_item(listptr, 3);
    for (i=0; i <= 5; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    printf("Index for 3 %d\n", get_index(listptr, 3));
    
    for (i=1; i < 6; i++){
        listptr=insert_back(listptr, i);
    }
    for (i=0; i < 12; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    set_item(listptr, 9, 15);
    for (i=0; i < 12; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    set_item(listptr, 10, 15);
    free_all(listptr);
}
int main() 
{
	NODE* head = 0;
	init_list(&head);

	// 이제 list에 넣으려면 int가 아닌 NODE를 만들어 보내야함
	for (int i = 0; i < 10; i++)
	{
		NODE* node = (NODE*)malloc(sizeof(NODE));
		node->data = i;
		insert_back(&head, node);
	}
	display(&head); 
}
Esempio n. 3
0
int
main (int argc,
      char *argv[])
{
  int i;
  NODE *temp;
  temp = (NODE *) malloc (sizeof(NODE) * 5);
  SAWON s[5] = {"홍길동", "이순신", "유관순", "안중근", "박문수"};

  data_display(&head);
  for (i=0; i<5; i++)
    {
      temp[i].data = s+i;
      insert_back(&head, temp+i);
      data_display(&head);
    }

  return 0;
}
int main() {
    int n;
    char s[999], *tok;
    list *l = create_list();

    scanf("%d", &n);
    while (n--) {
        scanf(" %[^\n]", s);
        tok = strtok(s, " ");
        switch (tok[2]) {
            case 'i'://inicio i
            {
                tok = strtok(NULL, " ");
                int i = atoi(tok);
                insert_front(l, i);
                break;
            }
            case 'm'://fim i
            {
                tok = strtok(NULL, " ");
                int i = atoi(tok);
                insert_back(l, i);
                break;
            }
            case 'p'://imprimir
            {
                print_list(l);
                break;
            }
            case 'v'://inverter x y
            {
                tok = strtok(NULL, " ");
                int x = atoi(tok);
                tok = strtok(NULL, " ");
                int y = atoi(tok);
                reverse_list(l, x, y);
                break;
            }
        }
    }
    free_list(l);
    return 0;
}
Esempio n. 5
0
int main(){
    Item* listptr;
    int i;
    int minidx;
    listptr = new_item(0);

    // Test insert_back()
    for (i=1; i < 6; i++){
        listptr=insert_back(listptr, 10*i - 5);
    }
    for (i=0; i < 6; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    printf("\n");

    // Test set()
    for (i=0; i < 7; i++){
        set(listptr, i, 7);
    }
    for (i=0; i < 6; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    printf("\n");

    // Test remove_item(). Should see two consecutive 2's in beginning.
    set(listptr, 0, 2);
    set(listptr, 2, 2);
    remove_item(listptr, 7);
    for (i=0; i < 5; i++){
        printf("i %d Item %d\n", i, get(listptr, i));
    }
    printf("\n");

    // Test get_index()
    printf("Index of the first 2 is: %d\n", get_index(listptr, 2));
    printf("Index of the first 7 is: %d\n", get_index(listptr, 7));
    printf("Index of a non-existent element (10) is: : %d\n", get_index(listptr, 10));

    minidx = find_min_index(listptr);
    printf("min index %d min value %d\n", minidx, get(listptr, minidx) );
    free_all(listptr);
}
Esempio n. 6
0
void main()
{

    int choice,cnt;

    while(1)
    {

        printf("\n---------------------------------Operations On Doubly Linked List-----------------------------------\n");
        printf("\n\n1.Insert-Front\n2.Insert-Back\n3.Count\n4.Dispaly\n5.Delete-Front\n6.Delete-back\n7.Search\n8.Exit\nEnter your Choice   :  ");
        scanf("%d",&choice);

        switch(choice)//Menu selection
        {
            case 1 :insert_front();
                    break;
            case 2: insert_back();
                    break;
            case 3: cnt=noof();
                    printf("\n No of nodes   is %d ",cnt); 
                    break;
            case 4: display();
                    break;
            case 5: delete_front();
                    break;
            case 6: delete_back();
                    break;
            case 7: search();
                    break;
            case 8: exit(0);
            default:printf("Wrong Input.Please try again \n");
        }

    }

}
Esempio n. 7
0
int main()
{
	list l;
	init(&l);

	printf("Inserting 3, 4, 1, 5, 6 and 2 at the back of the list.\n");
	insert_back(&l, 3);
	insert_back(&l, 4);
	insert_back(&l, 1);
	insert_back(&l, 5);
	insert_back(&l, 6);
	insert_back(&l, 2);
	for_each_forward(&l, print_node, NULL);

	printf("Print list backwards.\n");
	for_each_backward(&l, print_node, NULL);

	printf("Inserting 5 in front of the list.\n");
	insert_front(&l, 5);
	for_each_forward(&l, print_node, NULL);

	printf("Removing tail.\n");
	remove_tail(&l);
	for_each_forward(&l, print_node, NULL);

	printf("Removing head.\n");
	remove_head(&l);
	for_each_forward(&l, print_node, NULL);

	printf("Add 5 to each element in the list.\n");
	int add=5;
	for_each_forward(&l, add_node, &add);
	for_each_forward(&l, print_node, NULL);

	printf("Freeing list.\n");
	for_each_forward(&l, free_node, NULL);
	return 0;
}