//	Implementasi Stack memakai Linked-List

#include	<stdio.h>
#include	<stdlib.h>

struct CELL {
  struct CELL *next;		// pointer ke sel berikutnya
  int    value;		// data
};

typedef struct CELL cell;

cell *x, *header;


// push data val ke stack

void push(int val)
{

	// Selesaikan bagian ini
	// Hint: Tambahkan sel baru pada bagian terdepan sebuah list
}

// Pop

void pop()
{

	// Selesaikan bagian ini
	// Hint: Hapuslah sel yang terdepan
}

// Menampilkan isi stack

void stack_print()
{

	// Selesaikan bagian ini

}

// Main

int main(void)
{
	int mode,val;

	
	while(1){
		printf("[1]push  [2]pop  [3]selesai \t");	scanf("%d",&mode);
		if(mode==3) break;
		switch(mode){
			case 1:
				printf("Data:\t");	scanf("%d",&val);
				push(val);		// push data val ke stack
				stack_print();	// menampilkan isi stack	
				break;
			case 2:
				pop();			// Pop
				stack_print();	// menampilkan isi stack
				break;
			default:
				break;
		}
	}

}


