Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung menyambung, dinamis dan terbatas. Sedangkan Single Linked List adalah sebuah linked list yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.
Baiklah, Santekno akan memberikan implementasi dari Single Linked List dengan menggunakan bahasa CPP. Hal yang paling penting dalam pembuatan Single Linked List adalah kita akan membuat suatu linked yang nantinya bisa saling terhubung sehingga agar bisa saling terhubun tersebut membutuhkan beberapa fungsi yang bisa mengoperasikannya seperti, insert depan, insert belakang, insert di tengah, delete, size, dan lain-lainnya.
Linked List yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming) sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan SSL, atau singkatan dari Single Linked List.
Code Program Kelas SLL
Membuat Node Fungsi make()
Tambah Node di belakang push_back()
Tambah Node di depan push_front()
Tambah Node setelah n push_after()
Mencari Node find()
Mencari Node sebelum n find_before()
Hapus Node n del()
Mencetak linked list print()
Main Program
Santekno akan lampirkan juga beberapa implementasi Single Linked List menggunakan STL forward_list.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <utility> | |
#include <iostream> | |
#include <forward_list> | |
#include <string> | |
using namespace std; | |
typedef par<string, float> P; | |
typedef forward_list<P> SLLP; | |
class SLL{ | |
SLLP dt; | |
void push_front(string nim,float ipk); | |
void push_back(string nim, float ipk); | |
void push_after(string nim,float ipk, string after); | |
void del(string nim); | |
SLLP::iterator find(string nim); | |
void print(); | |
}; | |
void SLL::print(){ | |
SLLP::iterator it; | |
for(it=dt.begin();it!=dt.end();++it){ | |
cout << "(" << it->first << "," << it->second << ")->"; | |
} | |
cout << "NULL"<< endl; | |
} | |
void SLL::push_front(string nim, float ipk){ | |
P t=make_pair(nim,ipk); | |
dt.push_front(t); | |
} | |
void SLL::push_back(string nim,float ipk){ | |
P t=make_pair(nim,ipk); | |
if(dt.empty()) | |
dt.push_front(t); | |
else{ | |
SLLP::iterator before=dt.begin(); | |
SLLP::iterator it=dt.begin(); | |
for(;it!=dt.end();before=it,++it); | |
dt.insert_after(before,t); | |
} | |
} | |
int main(){ | |
SLL list; | |
list.make(); | |
list.push_back(100); list.push_back(50); | |
list.push_front(75); list.print(); | |
list.push_after(35,100); list.print(); | |
list.del(50); list.print(); | |
return 0; | |
} |
Beberapa Struktur Data dan Implementasinya :
- Tutorial CPP - Single Linked List Menggunakan C++
- Tutorial CPP - Double Linked List Menggunakan C++
- Tutorial CPP - Implementasi Stack Menggunakan Array C++
- Tutorial CPP - Implementasi Stack Menggunakan Double Linked List C++
- Tutorial CPP - Implementasi Stack Mengunakan Standar Template Library C++
- Tutorial CPP - Queue Menggunakan Double Linked List C++
- Tutorial CPP - Binary Search Tree Menggunakan C++
- Tutorial CPP - AVL Tree Menggunakan C++
- Tutorial CPP - B-Tree Menggunakan C++
- Tutorial CPP - Graph Menggunakan C++
0 komentar:
Posting Komentar