main

 
#include <stdio.h>
#include "llist.h"
 
int main( )
{
    LList L0,L1,L2;
    int i;
 
    printf("\nADT List\n");
 
    L0 = MakeEmpty( NULL );
    L1 = MakeEmpty( NULL );
    L2 = MakeEmpty( NULL );
 
    printf("\nInsertBeg:\n");
    for( i = 0; i < 10; i++ )
    {
        InsertBeg( i, L0 );
        PrintList( L0 );
    }
 
    printf("\nInsertEnd:\n");
    for( i = 0; i < 10; i++ )
    {
        InsertEnd( i, L1 );
        PrintList( L1 );
    }
 
 
//  /*
//-------FAST_CAT------------------------------
 
    printf("\n\n|--------FAST CAT-------\n");
    printf("L0: "); PrintList(L0);
    printf("L1: "); PrintList(L1);
    printf("FastCat:-------------\n");
    FastCat(L0, L1);
    printf("L0: "); PrintList(L0);
 
 
// /*
//------------FRESH_CAT-------------------------
 
    printf("\n\n|--------FRESH CAT-------\n");
    printf("L0: "); PrintList(L0);
    printf("L1: "); PrintList(L1);
    printf("L2: "); PrintList(L2);
    printf("FreshCat:-------------\n");
    L2=FreshCat(L0, L1);
    printf("L2: "); PrintList(L2);
 
 
// /*
//-----------CUT--------------------------
 
    printf("\n\n|--------CUT-------\n");
    LList L3;
    L3=MakeEmpty(NULL);
    printf("Lists before CUT:\n");
    printf("L1: "); PrintList(L1);
    printf("L3: "); PrintList(L3);
    printf("CUT(4):-------------\n");
    PNode test=Member(4,L1);
    L3=Cut(L1, test);
    printf("L1: "); PrintList(L1);
    printf("L3: "); PrintList(L3);
 
//-----------LIST_SIZE--------------------------
    printf("\n\n|--------List Size-------\n");
    printf("L2: "); PrintList(L2);
    printf("L3: "); PrintList(L3);
    int sizeL3=ListSize(L3);
    int sizeL2=ListSize(L2);
    printf("List Size:-------------\n");
    printf("Size(L3)=%d\n",sizeL3);
    printf("Size(L2)=%d\n",sizeL2);
//    */
 
    L2 = MakeEmpty( NULL );
    printf("\nMember:\n");
    PNode P1 = Member(0,L0);
    if(IsLast(P1)) printf("last "); else printf("not last ");
 
    if(Member(5,L0)) printf("yes-5 "); else printf("no-5 ");
    if(Member(12,L0)) printf("yes-12 "); else printf("no-12 ");
    if(Member(3,L0)) printf("yes-3 "); else printf("no-3 ");
 
    printf("\n\nDelete:\n");
    for( i = 0; i < 10; i++ )
    {
        printf("Delete  %d: ", i);
        Delete( i, L0 );
        PrintList( L0 );
    }
    printf("Delete 12: ");
    Delete(12,L0);
    PrintList( L0 );
    printf("Delete  0: ");
    Delete(0,L0);
    PrintList( L0 );
    printf("Delete  5: ");
    Delete(5,L0);
    PrintList( L0 );
 
    printf("\n");
    printf("L0: ");
    if(IsEmpty(L0)) printf("empty "); else printf("not empty ");
    PrintList(L0);
    printf("L1: ");
    PrintList(L1);
    printf("L2: ");
    PrintList(L2);
 
    RemoveList(&L0);
    RemoveList(&L1);
    RemoveList(&L2);
 
    return 0;
}
#include <stdio.h>
#include "llist.h"
 
int main( )
{
    LList L0,L1,L2;
    int i;
 
    printf("\nADT List\n");
 
    L0 = MakeEmpty( NULL );
    L1 = MakeEmpty( NULL );
    L2 = MakeEmpty( NULL );
 
    printf("\nInsertBeg:\n");
    for( i = 0; i < 10; i++ )
    {
        InsertBeg( i, L0 );
        PrintList( L0 );
    }
 
    printf("\nInsertEnd:\n");
    for( i = 0; i < 10; i++ )
    {
        InsertEnd( i, L1 );
        PrintList( L1 );
    }
 
 
//  /*
//-------FAST_CAT------------------------------
 
    printf("\n\n|--------FAST CAT-------\n");
    printf("L0: "); PrintList(L0);
    printf("L1: "); PrintList(L1);
    printf("FastCat:-------------\n");
    FastCat(L0, L1);
    printf("L0: "); PrintList(L0);
 
 
// /*
//------------FRESH_CAT-------------------------
 
    printf("\n\n|--------FRESH CAT-------\n");
    printf("L0: "); PrintList(L0);
    printf("L1: "); PrintList(L1);
    printf("L2: "); PrintList(L2);
    printf("FreshCat:-------------\n");
    L2=FreshCat(L0, L1);
    printf("L2: "); PrintList(L2);
 
 
// /*
//-----------CUT--------------------------
 
    printf("\n\n|--------CUT-------\n");
    LList L3;
    L3=MakeEmpty(NULL);
    printf("Lists before CUT:\n");
    printf("L1: "); PrintList(L1);
    printf("L3: "); PrintList(L3);
    printf("CUT(4):-------------\n");
    PNode test=Member(4,L1);
    L3=Cut(L1, test);
    printf("L1: "); PrintList(L1);
    printf("L3: "); PrintList(L3);
 
//-----------LIST_SIZE--------------------------
    printf("\n\n|--------List Size-------\n");
    printf("L2: "); PrintList(L2);
    printf("L3: "); PrintList(L3);
    int sizeL3=ListSize(L3);
    int sizeL2=ListSize(L2);
    printf("List Size:-------------\n");
    printf("Size(L3)=%d\n",sizeL3);
    printf("Size(L2)=%d\n",sizeL2);
//    */
 
    L2 = MakeEmpty( NULL );
    printf("\nMember:\n");
    PNode P1 = Member(0,L0);
    if(IsLast(P1)) printf("last "); else printf("not last ");
 
    if(Member(5,L0)) printf("yes-5 "); else printf("no-5 ");
    if(Member(12,L0)) printf("yes-12 "); else printf("no-12 ");
    if(Member(3,L0)) printf("yes-3 "); else printf("no-3 ");
 
    printf("\n\nDelete:\n");
    for( i = 0; i < 10; i++ )
    {
        printf("Delete  %d: ", i);
        Delete( i, L0 );
        PrintList( L0 );
    }
    printf("Delete 12: ");
    Delete(12,L0);
    PrintList( L0 );
    printf("Delete  0: ");
    Delete(0,L0);
    PrintList( L0 );
    printf("Delete  5: ");
    Delete(5,L0);
    PrintList( L0 );
 
    printf("\n");
    printf("L0: ");
    if(IsEmpty(L0)) printf("empty "); else printf("not empty ");
    PrintList(L0);
    printf("L1: ");
    PrintList(L1);
    printf("L2: ");
    PrintList(L2);
 
    RemoveList(&L0);
    RemoveList(&L1);
    RemoveList(&L2);
 
    return 0;
}