Operator Overloading :
istream&operator>>(istream&inArray1D&x)//operator overloading{
int posisi;//deklarasi posisi
cout<<"Mengisi Array Pada Posisi ke :";
in>>posisi;//input posisi
if(posisi>0&&posisi<=maks)//perulangan memasukan element array{
cout<<"Masukan Element Arraynya";
in.A[posisi];
}
else{
cout<<"Anda Memasukan Posisi diluar range";//output ketika memasukan posisi diluar range
return in;
}
Pengertian, Macam - macam, dan Penggunaan Linked List dalam C++
Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yangdiperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi, berbeda dengan array yang ukurannya tetap. berikut gambaran kecil mengenai linked list.
Didalam Linked List terdapat beberapa bagian lagi
1. Linked List Circular
Double Linked List
Pengertian secara umumnya DLLC itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field, yaitu:
1 field pointer yang menunjuk pointer berikutnya "next",
1 field menunjuk pointer sebelumnya " prev ",
1 field yang berisi data untuk node tersebut .
Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular. Bentuk Node DLLC
Single Linked List Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya
2. Linked List Non Circular
Double Linked List Non Circular (DLLNC)
adalah Double Linked List yang memiliki 2 buah pointer yaitu pointernext dan prev.
Pointer next menunjuk pada node setelahnya dan pointer prev menunjuk pada node sebelumnya.
Pengertian:
Double : artinya field pointer-nya dua buah dan dua arah, ke node sebelum dan sesudahnya.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Non Circular : artinya pointer prev dan next-nya akan menunjuk pada NULL.
Single Linked List Non Circular (SLLNC)
Adalah Linked List yang pointer nya selalu mengarah ke Node yang menampung *next bernilai NULL, jadi arahnya tidak menunjuk pointer didepannya sehingga tidak dapat kembali ke pointer - pointer sebelumnya. SLLNC ini juga memiliki 2 bagian, ada Tambah dan ada Hapus, masing - masing bagian ini juga masih meliputi 3 fungsi lain yaitu Belakang, Tengah, dan depan. untuk Contoh Tambah & Hapus
Friday, 23 October 2015
Bahasa Pemrograman : Struktur Data 06
Link List
#include <iostream>
using namespace std;
class Link{
public :
int data;
Link *next;
Link *back;
};
int main(int argc, char** argv) {
Link *a = new Link;
Link *b = new Link;
Link *c = new Link;
a->data = 1;
a->next = b;
b->data = 2;
b->next = c;
c->data = 3;
c->next= NULL;
cout<<a->next->data;
return 0;
}
#include <iostream>
using namespace std;
class Link{
public :
int data;
Link *next;
Link *back;
};
int main(int argc, char** argv) {
Link *a = new Link;
Link *b = new Link;
Link *c = new Link;
a->data = 1;
a->next = b;
b->data = 2;
b->next = c;
c->data = 3;
c->next= NULL;
cout<<a->next->data;
return 0;
}
Bahasa Pemrograman : Struktur Data 05
TDA(Tipe Data Abstrak).
Tipe Data Abstrak 1D Statis
# include <iostream.h>
# define maks 5
class Array1D {
friend ostream& operator<<(ostream&, const Array1D&);
friend istream& operator>>(istream&, Array1D&);
public :
Array1D();
void cetak();
void geser_kiri();
void geser_kanan();
private :
char A[maks];
};
void Array1D::cetak(){
for (int i=0; i<maks; i++)
cout << A[i] << " ";
}
ostream& operator<<(ostream& out, const Array1D& x){
for (int i=0; i<maks; i++){
cout << x.A[i] << " ";
cout << endl;
return out;
}
istream& operator>>(istream& in, Array1D& x){
int posisi;
cout << "Mengisi array pada posisi ke : ";
in >> posisi;
if (posisi > 0 && posisi <= maks) {
cout << "Masukkan elemen array-nya : ";
in >> x.A[posisi-1];
}
else
cout << "Anda memasukkan posisi di luar range ... ";
return in;
}
voi d Array1D::geser_kanan(){
int n = maks;
int temp = A[n-1];
f or (int i=n-1; i >= 0; i--)
A[i+1] = A[i];
A [0] = temp;
}
void Array1D::geser_kiri(){
int n = maks;
int temp = A[0];
for (int i=0; i < n; i++)
A[i] = A[i+1];
A[n-1] = temp;
}
Main
main() {
Array1D x;
cout << "Array masih kosong : " << x;
cin >> x;
cout << "Isi Array saat ini : " << x;
x.geser_kiri();
cout << "Isi Array setelah digeser ke kiri : " << x;
x.geser_kanan();
cout << "Isi Array setelah digeser ke kanan : " << x;
return 0;
}
Saturday, 10 October 2015
Bahasa Pemrograman : Struktur Data 04
1. Array [Input & Output]
#include <iostream>
using namespace std;
class Arrq{
private:
int arr[9];
int i;
public:
void input(int i,int b){
if (i<b){
cout<<"Masukkan Array ";
cin>>arr[i];
input(i+1,b);
}
}
void output(int i,int b){
//for (int i=0;i<9;i++){
if (i<b){
cout<<arr[i]<<" ";
cout<<endl;
output(i+1,b);
}
}
};
int main(int argc, char *argv[]) {
Arrq a;
a.input(0,9);
cout<<endl;
a.output(0,9);
return 0;
}
2. Array [Mengubah baris menjadi kolom]
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int arr[9]={1,2,3,4,5,6,7,8,9,};
int p=0;
cout<<"sebelum di tukar= \n";
for(int b=0;b<3;b++){
for(int h=0;h<3;h++){
cout<<arr[h+p]<<" ";
}cout<<endl;
p=p+3;
}
int q=0;
for (int c=0;c<9;c++){
if (arr [c]%3!=0){
int temp=arr[c];
arr[c]=arr[c+1];
arr[c+1]=temp;
}
}
cout<<"setelah di tukar = \n";
cout<<endl;
for(int i=0;i<3;i++){
for (int a=0;a<3;a++){
cout<<arr[a+q]<<" ";
}cout<<endl;
q=q+3;
}
return 0;
}
#include <iostream>
using namespace std;
class Arrq{
private:
int arr[9];
int i;
public:
void input(int i,int b){
if (i<b){
cout<<"Masukkan Array ";
cin>>arr[i];
input(i+1,b);
}
}
void output(int i,int b){
//for (int i=0;i<9;i++){
if (i<b){
cout<<arr[i]<<" ";
cout<<endl;
output(i+1,b);
}
}
};
int main(int argc, char *argv[]) {
Arrq a;
a.input(0,9);
cout<<endl;
a.output(0,9);
return 0;
}
2. Array [Mengubah baris menjadi kolom]
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int arr[9]={1,2,3,4,5,6,7,8,9,};
int p=0;
cout<<"sebelum di tukar= \n";
for(int b=0;b<3;b++){
for(int h=0;h<3;h++){
cout<<arr[h+p]<<" ";
}cout<<endl;
p=p+3;
}
int q=0;
for (int c=0;c<9;c++){
if (arr [c]%3!=0){
int temp=arr[c];
arr[c]=arr[c+1];
arr[c+1]=temp;
}
}
cout<<"setelah di tukar = \n";
cout<<endl;
for(int i=0;i<3;i++){
for (int a=0;a<3;a++){
cout<<arr[a+q]<<" ";
}cout<<endl;
q=q+3;
}
return 0;
}
Bahasa Pemrograman : Struktur Data 03
1. 3 Jenis Perulangan C++
For
Mencetak bilangan 10 sampai 1.
Void cetaklah(int i, int j){
int i=10;
int j=1;
for(i=10;i>=j;i--){
cout<<i;
}
Do...while
Mencetak bilangan 10 sampai 1.
void cetaklah(int i, int j){
int i=10;
int j=1;
do{
cout<<i;
}
while(i>j){
cout<<"Selesai";
}
While
Mencetak bilangan 10 sampai 1.
void cetaklah(int a, int b){
int i=a;
while(i>=b){
cout<<" I = "<<i;
}
2. Array
void masukandata(int A[], int n){
for(int i=0;i<=n;i++){
cout<<"Masukan Data ke"<<i+1;
cin>>A[i];
}
int jumlahkan(const int A[], int n){
int total=0;
for(int=0;i<n;i++){
total += A[i];
return total;
}
Bahasa Pemrograman : Struktur Data 02
Struct & Class
1. Main
#include <conio.h>
#include <iostream.h>
int main(){
float bil1=0,bil2=0,jumlah;
cout<<"Masukan Bilangan A : "; cin>>bil1;
cout<<"Masukan Bilangan B : "; cin>>bil2;
jumlah =bil1+bil2;
cout<<"Jumlah "<<bil1<<" + "<<bil2<<" = "<<jumlah;
getch();
)
2. Fungsi
void masukandata(float &bil1,float &bil2){
cout<<"Masukan Bilangan A : "; cin>>A;
cout<<"Masukan Bilangan B : "; cin>>B;
jumlah =A+B;
)
float jumlahkan(float bil1,float bil2){
float jumlah;
jumlah=0;
jumlah=bil1+bil2;
return jumlah;
}
float tampilkan(float bil1,float bil2,jumlah){
cout<<"Jumlah "<<bil1<<" + "<<bil2<<" = "<<jumlah;
return jumlah;
}
3. Struct
Struct Bilangan{
float bil1;
float bil2;
}
Bilangan x;
masukandata(x.bil1,x.bil2);
float jumlah;
jumlah=jumlah(x.bil1,x.bil2);
tampilkan(x.bil1,x.bil2,jumlah);
}
4. Class
Class Bilangan{
public:
void masukandata();
float jumlah();
void tampilkan();
private:
float bil1;
float bil2;
float jumlah;
}
Bilangan x;
x.masukandata();
x.jumlah();
x.tampilkan();
Bahasa Pemrograman : Struktur Data 01
1. Perulangan For
#include <conio.h>
#include <iostream.h>
int main(){
for(int i=1;i<10;i++){
cout<<i;
}
getch();
)
2. Perulangan While
#include <conio.h>
#include <iostream.h>
int main(){
int i;
while (i<=10){
cout<<i;
}
getch();
}
3. Perulangan Do-while
#include <conio.h>
#include <iostream.h>
int main(){
int i;
do{
cout<<i;
i++;
}
while(i<=10)
}
getch();
}
4. Fungsi
#include <conio.h>
#include <iostream.h>
void main(){
int hitung(int a, int b){
total=0;
for(int a=1;a<=b;a++){
total=total+1;
return total;
}
getch();
}
5. Template (Fungsi)
#include <conio.h>
#include <iostream.h>
void main(){
Template<Class T>
T hitung(T a, T b){
total=0;
for(T a=1;a<=b;a++)
total=total+1;
return total;
}
getch();
}
6. Fungsi Ganjil
#include <conio.h>
#include <iostream.h>
void main(){
void ganjil(int a, int b){
for(a=1;a<=b;a++){
if(a%2!0){
cout<<a<<",";
}
getch();
}
Subscribe to:
Posts (Atom)
R-chord 謝和弦 - I'm Not Your Prince Charming 我不是白馬王子 Lyrics 歌詞 with Pinyin
R-chord 謝和弦 x 高爾宣 & 李傑明 - I'm Not Your Prince Charming 我不是白馬王子 (Wo Bu Shi Bai Ma Wang Zi) Lyrics 歌詞 with Pinyin | 謝和弦 我不是白馬王子 歌詞 ...
-
He Yi Hang 賀一航 - Please Say Hello First 請先說你好 (Qing Xian Shuo Ni Hao) Lyrics 歌詞 with Pinyin | 賀一航 請先說你好 歌詞 Singer: He Yi Hang 賀一航 Album: Ple...
-
Wang Yi Tai 王以太 - Mu Bu Zhuan Jing 目不轉睛 Lyrics 歌詞 with Pinyin | 王以太 目不轉睛 歌詞 Singer: Wang Yi Tai 王以太 Album: Mu Bu Zhuan Jing 目不轉睛 Title: Mu B...
-
Ann 白安 - After You Left 離開後 (Li Kai Hou) Lyrics 歌詞 with Pinyin | 白安 離開後 歌詞 Singer: Ann 白安 Album: 1990s Title: 離開後 (Li Kai Hou) English Title...