IF2030_Proc_11_ListRekursif

1 2011 2012 32 primitif lain concat 2 versi procedure

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: List { Mengirimkan salinan hasil konkatenasi list L1 dan L2 } KAMUS LOKAL ALGORITMA if (IsEmpty(L1) then { Basis } → Copy(L2) else { Rekurens } → Konso(FirstElmt(L1),Concat(Tail(L1),L2)) 11/16/2011 IF2030/Sem. 1 2011-2012 32 Primitif Lain : Concat – 2 (versi procedure) procedure MConcat (input L1, L2 : List, output LHsl : List) { I.S. L1, L2 terdefinisi } { F.S. LHsl adalah hasil melakukan konkatenasi L1 dan L2 dengan cara “disalin” } { Proses : Menghasilkan salinan hasil konkatenasi list L1 dan L2 } KAMUS LOKAL LTemp : List ALGORITMA if (IsEmpty(L1)) then { Basis – 0 } LHsl ← Copy(L2) else { Rekurens } MConcat(Tail(L1), L2, LTemp) LHsl ← Konso(FirstElmt(L1), LTemp) 11/16/2011 IF2030/Sem. 1 2011-2012 33 PR PR • Ambillah ADT list of integer yang pernah ADT list of integer yang pernah dikerjakan sebagai tugas pra-praktikum pada pemrograman fungsional pada pemrograman fungsional • Translasikan menjadi program prosedural dalam bahasa dalam bahasa C 11/16/2011 IF2030/Sem. 1 2011-2012 34 Potongan header file (1) #ifndef listrek_H #define listrek_H #include "boolean.h" "b #include <stdio.h> # define Nil NULL typedef int infotype; typedef struct tElmtlist *address; typedef struct tElmtlist { infotype info; address next; } ElmtList; typedef address List; /* Selektor */ #define Info(P) (P)->info Info(P) (P) info #define Next(P) (P)->next 11/16/2011 IF2030/Sem. 1 2011-2012 35 Potongan header file (2) Potongan header file (2) /* Manajemen Memori */ address Alokasi (infotype X); /* Mengirimkan address hasil alokasi sebuah elemen */ /...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online