Assignment 2
by pat spag
HTML
Enter Array Size:
<input type="textbox" value="100" id="tbArraySize">
<input type="button" value="Create Array" onClick="btnCreate()">
<br>
Enter Location:
<input type="textbox" id="tbInsertIndex">
Enter Value to Insert:
<input type="textbox" id="tbInsertValue">
<br>
<input type="button" onClick="btnInsert()" value="Insert Into Array">
<br>
Enter Value to Find:
<input type="textbox" id="tbSearchValue" value="">
<input type ="button" onClick="btnSearch()" value="Search Array">
<div id="output">
</div>
JavaScript
var array = [];
var d; // display
var searchOperations = 0;
var insertOperations = 0;
function btnCreate() {
clearDisplay();
var arrsize = document.getElementById("tbArraySize").value;
//takes value form array size text box
for (var i = 0; i < arrsize; i+= 1) {
array[i] = Math.floor(Math.random() * 101);
} //generate array of 100 random values
clearDisplay();
displayArray();
}
function clearDisplay()
{
d = "";
document.getElementById("output").innerHTML = "";
}
function displayArray()
{//function to display array
for (var i = 0; i < array.length; i+=1){
d += i + ' : ' + array[i] + "<br/>";
//this format was used in the example
}
document.getElementById("output").innerHTML = d;
}
function btnInsert() {
clearDisplay();
// get value of index of value to insert
var i = parseInt(document.getElementById("tbInsertIndex").value);
// get actual value to insert at index i
var v =
parseInt(document.getElementById("tbInsertValue").value);
insertIntoArray(array, i , v); //insert function (like splice)
d = "Value " + v + " inserted at location. " + i + " There were "+ insertOperations + " operations performed in this insertion. " + "<br/> " + "The time complexity of this algorithm is: O(" + insertOperations + ")" + "<br/>" ;
insertOperations = 0; //rest insertOperations before re-clicking insert button
// Display the array
displayArray();
}
function insertIntoArray(array, index, value) {
for(var i = array.length-1; i > index-1; i-=1) { //loops from end of array to the index before the index argument that is passed into the function
if(i > index) { //as long as i is greater than that index
array[i] = array[i-1]; //set the value at that index to the value at the index before it
insertOperations += 1; //then increment insertOperations each time that happens
} else if (i === index) { //else if i equals the index argument
array[i] = value; // set the value at that index to the value passed in: the value...