Arrays Week 2.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
1 Lecture 9  Arrays  Declaration  Initialization  Applications  Pointers  Declaration  The & and * operators  NULL pointer  Initialization  Readings:
 2006 Pearson Education, Inc. All rights reserved Arrays.
Chapter 8 Arrays and Strings
Arrays. Objectives Learn about arrays Explore how to declare and manipulate data into arrays Learn about “array index out of bounds” Become familiar with.
1 CSCE 1030 Computer Science 1 Arrays Chapter 7 in Small Java.
 Pearson Education, Inc. All rights reserved Arrays.
 2004 Prentice Hall, Inc. All rights reserved. 1 Chapter 11 - JavaScript: Arrays Outline 11.1 Introduction 11.2 Arrays 11.3 Declaring and Allocating Arrays.
Array Processing Simple Program Design Third Edition A Step-by-Step Approach 7.
 2006 Pearson Education, Inc. All rights reserved Arrays.
Chapter 8 Arrays and Strings
Session 7 JavaScript/Jscript: Arrays Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
Chapter 2 ARRAYS.
Chapter 6 Arrays Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
Data Strcutures.
ARRAYS 1 Week 2. Data Structures  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently 
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2009 Pearson Education, Inc., Upper.
 2005 Pearson Education, Inc. All rights reserved. 1 Arrays.
Arrays Module 6. Objectives Nature and purpose of an array Using arrays in Java programs Methods with array parameter Methods that return an array Array.
What is an Array? An array is a collection of variables. Arrays have three important properties: –group of related items(for example, temperature for.
Java Script: Arrays (Chapter 11 in [2]). 2 Outline Introduction Introduction Arrays Arrays Declaring and Allocating Arrays Declaring and Allocating Arrays.
Array Cs212: DataStructures Lab 2. Array Group of contiguous memory locations Each memory location has same name Each memory location has same type a.
Arrays Array – Group of contiguous memory locations Each memory location has same name Each memory location has same type.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Arrays.
Week # 2: Arrays.  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently  Types of data.
IN THE NAME OF ALLAH WHO IS THE MOST BENEFICENT AND MOST MERCIFUL.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Arrays Chapter 7. MIS Object Oriented Systems Arrays UTD, SOM 2 Objectives Nature and purpose of an array Using arrays in Java programs Methods.
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
 2005 Pearson Education, Inc. All rights reserved Arrays.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
7.1 Introduction Arrays Arrays are data structures consisting of data items of the same type “Static” entities They remain the same size once they are.
Arrays Chapter 7.
Chapter 11 - JavaScript: Arrays
Arrays Chapter 7.
EGR 2261 Unit 10 Two-dimensional Arrays
Data Structures I (CPCS-204)
Computer Programming BCT 1113
© 2016 Pearson Education, Ltd. All rights reserved.
Chapter 8 Arrays Objectives
JavaScript: Functions.
Chapter 10: Pointers 1.
Arrays … The Sequel Applications and Extensions
Chapter 6 - Arrays Outline 6.1 Introduction 6.2 Arrays
7 Arrays.
7 Arrays.
Chapter 8 Arrays Objectives
Chapter 5 Arrays Introducing Arrays
EKT150 : Computer Programming
CISC181 Introduction to Computer Science Dr
Review of Arrays and Pointers
Introduction To Programming Information Technology , 1’st Semester
JavaScript Arrays.
Cs212: Data Structures Computer Science Department Lecture 2: Arrays.
CS2011 Introduction to Programming I Arrays (I)
MSIS 655 Advanced Business Applications Programming
Data Structures (CS212D) Week # 2: Arrays.
Arrays Chapter 7.
CIS16 Application Development and Programming using Visual Basic.net
7 Arrays.
Chapter 8 Arrays Objectives
10 JavaScript: Arrays.
C++ Array 1.
ICS103: Programming in C Searching, Sorting, 2D Arrays
Presentation transcript:

Arrays Week 2

Data Structures Data structure Types of data structures A particular way of storing and organising data in a computer so that it can be used efficiently Types of data structures Based on memory allocation Static (or fixed sized) data structures (Arrays) Dynamic data structures (Linked lists) Based on representation Linear (Arrays/linked lists) Non-linear (Trees/graphs)

Array: motivation You want to store 5 numbers in a computer Define 5 variables, e.g. num1, num2, ..., num5 What, if you want to store 1000 numbers? Defining 1000 variables is a pity! Requires much programming effort Any better solution? Yes, some structured data type Array is one of the most common structured data types Saves a lot of programming effort (cf. 1000 variable names)

What is an Array? A collection of data elements in which all elements are of the same data type, hence homogeneous data An array of students’ marks An array of students’ names An array of objects (OOP perspective!) elements (or their references) are stored at contiguous/ consecutive memory locations Array is a static data structure An array cannot grow or shrink during program execution – its size is fixed

Basic concepts Array name (data) Index/subscript (0...9) The slots are numbered sequentially starting at zero (Java, C++) If there are N slots in an array, the index will be 0 through N-1 Array length = N = 10 Array size = N x Size of an element = 40 Direct access to an element

Homogeneity Index: 1 2 3 4 5 6 7 8 9 All elements in the array must have the same data type 5 10 18 30 45 50 60 65 70 80 Value: Value: 1 2 4 3 5.5 10.2 18.5 45.6 60.5 Index: 1 2 4 3 Index: Value: ‘A’ 10.2 55 ‘X’ 60.5 Not an array

Contiguous Memory Array elements are stored at contiguous memory locations No empty segment in between values (3 & 5 are empty – not allowed) Index: 1 2 3 4 5 6 7 8 9 Value: 5 10 18 30 45 50 60 65 70 80 1 2 3 4 5 6 7 8 9 Index: Value: 5 10 18 45 60 65 70 80

Declaring and Creating Arrays Arrays are objects that occupy memory Created dynamically with keyword new int c[] = new int[ 12 ]; Equivalent to int c[]; // declare array variable c = new int[ 12 ]; // create array We can create arrays of objects too String b[] = new String[ 100 ];

Using Arrays Array_name[index] For example, in Java System.out.println(data[4]) will display 0 data[3] = 99 will replace -3 with 99

Using Arrays Array_name[index] For example, in Java System.out.println(data[4]) will display 0 data[3] = 99 will replace -3 with 99

Using Arrays Using an array initializer Use initializer list Items enclosed in braces ({}) Items in list separated by commas int n[] = { 10, 20, 30, 40, 50 }; Creates a five-element array Index values of 0, 1, 2, 3, 4 Do not need keyword new

Using Arrays (Cont.) To declare an array follow the type with (empty) []s int[] grade; //or int grade[]; //both declare an int array In Java arrays are objects so must be created with the new keyword To create an array of ten integers: int[] grade = new int[10]; Note that the array size has to be specified, although it can be specified with a variable at run-time

Examples Using Arrays (Cont.) Calculating the value to store in each array element creates a 10-element array and assigns to each element one of the even integers from 2 to 20 (2, 4, 6, …, 20).

Examples Using Arrays (Cont.)

Examples Using Arrays (Cont.) Output:

Examples Using Arrays (Cont.) Summing the elements of an array Array elements can represent a series of values We can sum these values

22-Feb-19 Computer Science Department

Some more concepts data[ -1 ] always illegal data[ 10 ] illegal   (10 > upper bound) data[ 1.5 ] always illegal data[ 0 ] always OK data[ 9 ] OK Q. What will be the output of? data[5]  + 10 data[3] = data[3] + 10

Array’s Dimensionality One dimensional (just a linear list) e.g., Only one subscript is required to access an individual element Two dimensional (matrix/table) e.g., 2 x 4 matrix (2 rows, 4 columns) 5 10 18 30 45 50 60 65 70 80 Col 0 Col 1 Col 2 Col 3 Row 0 20 25 60 40 Row 1 30 15 70 90

Multidimensional arrays Tables with rows and columns Two-dimensional array Declaring two-dimensional array b[2][2] int b[][] = { { 1, 2 }, { 3, 4 } }; 1 and 2 initialize b[0][0] and b[0][1] 3 and 4 initialize b[1][0] and b[1][1] int b[][] = { { 1, 2 }, { 3, 4, 5 } }; row 0 contains elements 1 and 2 row 1 contains elements 3, 4 and 5

Multidimensional arrays (Cont.) Creating multidimensional arrays Can be allocated dynamically 3-by-4 array int b[][]; b = new int[ 3 ][ 4 ]; Rows can have different number of columns int b[][]; b = new int[ 2 ][ ]; // allocate rows b[ 0 ] = new int[ 5 ]; // allocate row 0 b[ 1 ] = new int[ 3 ]; // allocate row 1

Multidimensional arrays (Cont.) Column 0 Column 1 Column 2 Column 3 Row 0 a[ 0 ][ 0 ] a[ 0 ][ 1 ] a[ 0 ][ 2 ] a[ 0 ][ 3 ] Row 1 a[ 1 ][ 0 ] a[ 1 ][ 1 ] a[ 1 ][ 2 ] a[ 1 ][ 3 ] Row 2 a[ 2 ][ 0 ] a[ 2 ][ 1 ] a[ 2 ][ 2 ] a[ 2 ][ 3 ] Column index Row index Array name

Multidimensional arrays (Cont.)

Multidimensional arrays (Cont.)

Searching Arrays: Linear Search and Binary Search Finding elements in large amounts of data Determine whether array contains value matching key value Linear searching Binary searching

Searching Arrays: Linear Search and Binary Search (Cont.) Compare each array element with search key If search key found, return element index If search key not found, return –1 (invalid index) Works best for small or unsorted arrays Inefficient for larger arrays

Linear Search

Linear Search(Cont.) Output: Key 34 found at index: 6

Binary Search Binary search Efficient for large, sorted arrays Eliminates half of the elements in search through each pass Compare middle array element to search key If element equals key Return array index If element is less than key Repeat search on first half of array If element is greater then key Repeat search on second half of array Continue search until element equals search key (success) Search contains one element not equal to key (failure)

Binary Search (Cont.)

Binary Search (Cont.) Output: Key 14's position: 6

Binary Search Example