# Welcome to the Algorithms and Data Structures Lab WebPage

Spring 2018/2019

• ### Lab Assistant

Eyad Almasri

Emaileyad.almasri@emu.edu.tr

Office: EE242

• ### Lab. Sheet 1: Variables and Functions

• Every variable occurring in a program must be declared before it is used.
• Modules in C are called functions. There are two types of functions:
1. Programmer-defined functions – one that programmer writes
2. Pre-packaged functions available in the C standard library (printf, scanf etc.).
• Recursive Functions is one that calls itself for further simplified processing.

You can download the lab sheet from here.

• ### Lab. Sheet 2: Arrays

This week we are going to talk about Arrays.

An array is a contiguous collection of objects of the same type

You can can download detailed contents of this lab week from here.

• ### Lab.Sheet 3: Pointers

This lab session is going to be about Pointers.

pointer is a variable whose value is the address of another variable.

You can download detailed contents of this lab week from  here

• ### Lab. Sheet 4: Structures

This lab is going to be about structures which are data types suitable for grouping data elements together. The following topics are covered:

• Structure definition
• Initializing structures
• Arrays of structures
• Structures which contain structures

I invite you all to download the lab sheet from here and have a look at the material before our next session.

• ### Lab. Sheet 5: Stacks

A stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end called the top of the stack. A stack is a dynamic constantly changing object. There are 2 basic operations associated with stack:

1. “Push” is the term used to insert an element into a stack.
2. “Pop” is the term used to delete an element from the stack

You may download the lab sheet from here.

• ### Lab sheet 6: Queues

A queue is an ordered collection of items from which items may be deleted at one end (called the front of the queue) and into which items may be inserted at the other end (called the rear of the queue).

In this lab we get familiar with :

1. Queue
2. Circular Queue

Please download the lab sheet from this link.

• ### Lab Sheet 7: Linear Linked Lists

A linked list is comprised of a series of nodes, each node containing a data element, and a pointer to the next node. The following figure shows an example of a link list.

In this lab you learn how to create a link list using C programming.

Please download the lab sheet from here.