Kamis, 20 Juli 2023

Membuat Singly Linked List C++

#include <iostream>

#include<conio.h>

#include<windows.h>

#include <stdio.h>

using namespace std;


int pil;

void pilih();

void buat_baru();

void tambah_belakang();

void tambah_depan();

void hapus_belakang();

void hapus_depan();

void tampil();


struct simpul{

 char nim[8], nama[80];

 int umur;

 struct simpul *next;

}mhs, *baru, *awal=NULL, *akhir=NULL, *hapus, *bantu;


void clrscr(){

 system("cls");

}


int main(){

 do{

  clrscr();

  cout << "MENU SINGLE  LINKEDLIST" << endl;

  cout << "1. Tambah Depan" << endl;

  cout << "2. Tambah Belakang" << endl;

  cout << "3. Hapus Depan" << endl;

  cout << "4. Hapus Belakang" << endl;

  cout << "5. Tampil" << endl;

  cout << "6. Selesai" << endl;

  cout << "Pilihan anda: ";

  cin>>pil;

  pilih();

 }while (pil!=6);

 return 0;

}

void pilih(){

 if(pil==1){

 tambah_depan();

 }

 else if(pil==2){

  tambah_belakang();

 }


 else if(pil==3){

  hapus_depan();

 }

 else if(pil==4){

 hapus_belakang();

 }

 else if(pil==5){

 tampil();

 }

}

void buat_baru(){

 baru=(simpul*)malloc(sizeof(struct simpul));

 cout << "Input NIM : ";

 cin >> baru->nim;

 cout << "Input Nama : ";

 cin >>baru->nama;

 cout << "Input Umur : ";

 cin >> baru->umur;

 baru->next=NULL;

}


void tambah_belakang(){

 buat_baru();

 if(awal==NULL){

  awal=baru;

 }

 else{ 

  akhir->next=baru;

 }

 akhir=baru;

 akhir->next=NULL;

 cout << endl << endl;

 tampil();

}


void tambah_depan(){

 buat_baru();

 if(awal==NULL){

  awal=baru;

  akhir=baru;

  akhir->next=NULL;

 }

 else{

  baru->next=awal;

  awal=baru;

 }

 cout << endl << endl;

 tampil();

}


void hapus_depan(){

 if(awal==NULL){

  cout<<"kosong";

 }

 else{

  hapus = awal;

  awal=awal->next;

  free(hapus);

 }

 cout << endl << endl;

 tampil();

}


void hapus_belakang(){

 if(awal==NULL){

  cout << "Kosong";

 }

 else if(awal==akhir){

  hapus = awal;

  awal=awal->next;

  free(hapus);

 }

 else{

  hapus = awal;

  while(hapus->next != akhir){

   hapus = hapus->next;

   akhir=hapus;

   hapus=akhir->next;

   akhir->next=NULL;

   free(hapus);

  }

 }

 cout << endl << endl;

 tampil();

}

void tampil(){

 if(awal==NULL){

  cout << "Kosong";

 }

 else{

  bantu=awal;

  while(bantu!=NULL){

   cout << "NIM : " << bantu->nim << endl;

   cout << "NAMA : " << bantu->nama << endl;

   cout << "UMUR : " << bantu->umur << endl;

   bantu=bantu->next;

  }

 }

 getch();

}

Hasil Run:




Tidak ada komentar:

Posting Komentar

UAS Structur Data C++

UAS STRUKTUR DATA INSERTION   1. Insetion Short Source Code : //Nama : Ikhsan Ferry Pratama //NIM : 21144005 #include <iostream> u...