- Praktikum 1
- Script Program
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct nod{
int data;
struct nod *next;
} NOD, *NODPTR;
void CiptaSenarai (NODPTR *s)
{
*s = NULL;
}
NODPTR NodBaru(int m)
{
NODPTR n;
n = (NODPTR) malloc(sizeof(NOD));
if(n != NULL){
n -> data = m;
n -> next = NULL;
}
return n;
}
void SisipSenarai (NODPTR *s, NODPTR t, NODPTR p)
{
if (p==NULL) {
t -> next = *s;
*s = t;
}
else {
t -> next = p -> next;
p -> next = t;
}
}
void CetakSenarai (NODPTR s)
{
NODPTR ps;
for (ps = s; ps !=NULL; ps = ps -> next)
printf("%d -->", ps -> data);
printf("NULL\n");
}
int main()
{
NODPTR pel;
NODPTR n;
CiptaSenarai(&pel);
n = NodBaru(55);
SisipSenarai(&pel, n, NULL);
n= NodBaru(75);
SisipSenarai(&pel, n, NULL);
CetakSenarai(pel);
return 0;
}
- Output
- Penjelasan
- Praktikum 2
- Script Program
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct Mahasiswa
{
int nim;
Mahasiswa *next;
}Mahasiswa;
void init(Mahasiswa **p)
{
*p = NULL;
}
Mahasiswa *alokasi(int nim)
{
Mahasiswa *p;
p = (Mahasiswa*)malloc(sizeof(Mahasiswa));
if(p !=NULL)
{
p->next = NULL;
p->nim = nim;
}
return(p);
}
void add(Mahasiswa **p, int nim)
{
*p = alokasi(nim);
printf("%d",(*p)->nim);
}
int main()
{
Mahasiswa *head;
init(&head);
add(&head,56);
getch();
return 0;
}
- Output
- Penjelasan
LATIHAN
- Latihan 1
- Script Program
#include<stdio.h>
#include<stdlib.h>
struct node{ /*Mendefinisikan Struktur yang akan dirangkai sebagai queue*/
int data;
struct node*p;};
/*Mendefinisikan fungsi untuk menambahkan elemen ke dalam queue serta menempatkan pada bagian akhir queue*/
void TambahElemen(struct node **d,struct node **b,int nilai){
/*Membuat Struktur node baru*/
struct node*temp;
temp=(struct node *)malloc (sizeof (struct node));
/*Mendefinisikan field yang terdapat pada struktur node yang baru dialokasikan*/
temp->data=nilai;
temp->p=NULL;
if(*d == NULL){
*d = temp;
}else {
(*b)->p = temp;}
*b = temp;}
void HapusElemen(struct node **d,struct node **b){struct node *temp;
if(*d == NULL){
printf("Tidak terdapat elemen dalam queue");
}else{
temp = *d;
*d = temp->p;
free(temp);
if(*d == NULL){
*b = NULL;
}
}
}
void TampilkanNilai(struct node *d){
int nilai;
while (d!= NULL){
nilai = d->data;
printf("%d\n",nilai);
d = d->p;}
}
int main(void){
struct node *depan, *belakang;
depan = belakang = NULL;
TambahElemen(&depan, &belakang, 10);
TambahElemen(&depan, &belakang, 20);
TambahElemen(&depan, &belakang, 30);
TambahElemen(&depan, &belakang, 40);
TampilkanNilai(depan);
HapusElemen(&depan, &belakang);
printf("Nilai-Nilai didalam Queue");printf("Setelah penghapusan Elemen Pertama:\n");
TampilkanNilai(depan);
return 0;
}
Belum ada tanggapan untuk "Laporan Praktikum Struktur Data Modul 10 Linked List"
Posting Komentar