Skip to content

Instantly share code, notes, and snippets.

@aldhinya
Last active May 16, 2018 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aldhinya/69c33aac9bd6174e17519c3b518c008c to your computer and use it in GitHub Desktop.
Save aldhinya/69c33aac9bd6174e17519c3b518c008c to your computer and use it in GitHub Desktop.
#include <iostream>
using namespace std;
struct Barang {
int nilai;
Barang *next;
} *depan = NULL, *belakang = NULL, *bantu = NULL;
int main() {
int input, tanya;
do {
bantu = depan; // bantu pindah ke depan
// perulangan bantu dari depan sampai belakang
while (bantu != NULL) {
cout << '[' << bantu->nilai << "] -> "; // cetak nilai bantu
bantu = bantu->next; // bantu pindah ke sebelahnya
}
cout << "Input: ";
cin >> input;
if (input > 0) { // jika input > 0
bantu = new Barang; // bantu membuat barang baru
bantu->nilai = input;
bantu->next = NULL;
if (depan == NULL) { // kalau data kosong
depan = bantu; // 'depan' pindah ke 'bantu'
belakang = bantu; // 'belakang' pindah ke 'bantu'
} else { // kalau data sudah ada
cout << "depan (1) atau belakang (0)? ";
cin >> tanya;
if (tanya == 1) { // jika input depan
bantu->next = depan; // bantu disambung ke depan
depan = bantu; // depan pindah ke bantu
} else { // jika input belakang
belakang->next = bantu; // belakang disambung ke depan
belakang = bantu; // belakang pindah ke bantu
}
}
}
} while (input > 0); // jika input tadi nol, program berhenti
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment