You are on page 1of 8

A.

Definisi Masalah Membuat sebuah program dengan menginputkan angka dan mengurutkan angka yang telah kita inputkan secara Ascending dan Descending menggunakan double circular linked list.

B.

Rancangan Algoritma

C.

Source Code #include <stdio.h> #include <stdlib.h>

typedef struct number number; struct number{ int no; number *ne t; number *pre!; ";

number *head;

!oid init#${ head%&'((; "

int check&um#int my&um${ number *node; node%head; int y; y%); do { if #node*>no%%my&um$ y++; node%node*>ne t; ",hile #node-%head$; if #y$ return#.$; else return #)$; "

!oid add&um#int my&um${ number *node; int ; node%#number *$ malloc #si/eof#number$$; if #head%%&'(($ {head%node; node*>no%my&um; node*>ne t%node;node*>pre!%node;" else %check&um#my&um$; if #- ${ node*>no%my&um; if#node*>no<head*>no${ node*>ne t%head; node*>pre!%head*>pre!; head*>pre!*>ne t%node; head*>pre!%node;

head%node;

" else{ number *trace; trace%head; ,hile#trace*>ne t-%head 00 #trace*>ne t*>no$ < #node*>no$$ trace%trace*>ne t; if #trace*>ne t%%head$ {trace*>ne t%node; node*>pre!%trace; node*>ne t%head; head*>pre!%node;" else { node*>ne t%trace*>ne t; trace*>ne t*>pre!%node; node*>pre!%trace; trace*>ne t%node; " "" "

!oid print&um#${ number *node; int %); node%head; do{ printf#12d3n14node*>no$; node%node*>ne t; ",hile #node-%head$; "

!oid re!erse&um#${ number *node; int %); node%head; do{ node%node*>pre!; printf#12d3n14node*>no$; ",hile #node-%head$; "

int main#$ { init#$; int ; int y; puts#1##############################################1$; puts#1 Double (inked (ist 1$;

puts#1##############################################1$; ,hile# -%)${ printf#1. tambah data3n5 tampilkan urut3n6 tampilkan kebalik3n) keluar3n1$; printf#1masukkan pilihan anda7 1$; scanf#12d140 $;fflush#stdin$; system#1cls1$; {s,itch# ${ case )7;break; case .7 printf#1data baru7 1$; scanf#12d140y$;fflush#stdin$;add&um#y$; ;break; case 57 print&um#$; ;break; case 67 re!erse&um#$;

;break; default7 printf#1menu yang anda masukkan tidak ada1$; " "

system#1pause1$; ""

D.

ScreenShot

You might also like