Chain Chronicle

Senin, 19 Oktober 2015

Struktur Data Minggu ke 5 dan 6

Minggu 5 TDA (Type Data Abstrak)

# 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;
}



MInggu 6 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;

}

Tidak ada komentar:

Posting Komentar