LATIHAN SOAL TEORI BAHASA AUTOMATA Download
Monday, January 25, 2021
Monday, January 18, 2021
Thursday, December 17, 2020
Struktur Data Stack
Stack
adalah tipe data abstrak dengan kapasitas terbatas (standar), dan stack juga
merupakan struktur data sederhana yang memungkinkan penambahan dan penghapusan
elemen dalam urutan tertentu. Setiap kali sebuah elemen ditambahkan, elemen
tersebut akan berada di atas tumpukan dan satu-satunya elemen yang dapat
dihapus adalah elemen yang berada di atas tumpukan, seperti tumpukan objek.
Fitur dasar
Stack
1.
Stack adalah daftar berurutan dari tipe data serupa.
2.
Stack adalah struktur LIFO (Last in First out) atau dapat juga dikatakan FILO
(First in Last out).
3.
fungsi push () digunakan untuk memasukkan elemen baru ke dalam Stack dan fungsi
pop () digunakan untuk menghapus elemen dari stack. Baik penyisipan dan penghapusan
diperbolehkan hanya di satu ujung Tumpukan yang disebut Top.
4.
Stack dikatakan berada dalam status Overflow jika sudah penuh dan dikatakan
dalam status Underflow jika benar-benar kosong.
Thursday, December 3, 2020
Wednesday, December 2, 2020
QUEUE dengan Link List
{
int data;
Node *link;
};
Node *front = NULL;
Node *rear = NULL;
//Function to check
if queue is empty or not
bool isempty()
{
if(front == NULL && rear == NULL)
return true;
else
return false;
}
//function to enter
elements in queue
void enqueue ( int
value )
{
Node *ptr = new Node();
ptr->data= value;
ptr->link = NULL;
//If inserting the first element/node
if( front == NULL )
{
front = ptr;
rear = ptr;
}
else
{
rear ->link = ptr;
rear = ptr;
}
}
//function to
delete/remove element from queue
void dequeue ( )
{
if( isempty() )
cout<<"Queue is empty\n";
else
//only one element/node in queue.
if( front == rear)
{
free(front);
front = rear = NULL;
}
else
{
Node *ptr = front;
front = front->link;
free(ptr);
}
}
//function to show
the element at front
void showfront( )
{
if( isempty())
cout<<"Queue is empty\n";
else
cout<<"element at front is:"<<front->data;
}
//function to display
queue
void displayQueue()
{
if (isempty())
cout<<"Queue is empty\n";
else
{
Node *ptr = front;
while( ptr !=NULL)
{
cout<<ptr->data<<"
";
ptr= ptr->link;
}
}
}
//Main Function
int main()
int choice, flag=1, value;
while( flag == 1)
{
cout<<"\n1.enqueue 2.dequeue
3.showfront 4.displayQueue 5.exit\n";
cin>>choice;
switch (choice)
{
case 1: cout<<"Enter Value:\n";
cin>>value;
enqueue(value);
break;
case 2: dequeue();
break;
case 3: showfront();
break;
case 4: displayQueue();
break;
case 5: flag = 0;
break;
}
}
return 0;
}