RSS

Pratikum 4


PRAKTIKUM STRUKTUR DATA 4
STACK

Stack adalah serangkaian elemen yang bertipe sama dimana  rangkaian tersebut hanya mempunyai satu akses, diakhir. Sehingga penambahan elemen dan penghapusan hanya melalui akhir rangkaian atau top (Last In First Out (LIFO)).

Operasi Stack
        initialize
        push
        pop
        empty
        full

Contoh Program Stack:

#define MAX_STACK_SIZE 100
typedef struct{
      int key;
}element;

element stack[ MAX_STACK_SIZE ];
int top;

void initialize( int* top )
{
  *top = -1;
}

void push( int* top, element stack[], element item )
{
  if ( !stackfull( *top ) )
     stack[ ++(*top) ] = item;
}

element pop( int* top, element stack[] )
{
  if ( !stackempty( *top ) )
    return stack[ (*top)-- ];
}

int stackfull( int top )
{
  return ( top == MAX_STACK_SIZE-1 ) ;
}

int stackempty( int top )
{
  return ( top == -1 );
}


void main()
{  element item;
       
  initialize( &top );
  printf ("push numbers ( 0 to end )\n");
  scanf ( "%d" , &item.key ) ;
  while ( item.key != 0 ) {
      push( &top, stack, item );
      scanf( "%d", &item.key );
  }
  while ( !stackempty( top ) ){
      item = pop( &top, stack );
      printf( "%d", item.key );
  }
}


TUGAS:

Buatlah program untuk memeriksa apakah setiap tanda { akan mempunyai pasangan tanda  } dari sebuah string yang diinputkan. Jika setiap { mempunyai pasangan } maka output TRUE jika terdapat tanda yang tidak mempunyai pasangan output FALSE.

 Silahkan download File ini Klik di sini...

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar