2011-10-28 79 views
1

好的,所以我真的對這個實驗室遇到了麻煩。 這裏的問題:在Javascript中搜索和排序排列數組

初始化:隨機初始化0和100之間 第1部分尺寸200的整數值列表:搜索 你是爲了實現其搜索列表中的值的occurence功能。它不應該依賴於預先排序的列表。

搜索 部分說明評論 輸入:列表,值的初始化列表 計算:

Loop over all elements in list. 
    If current element equals value, store as index. 
If value not found, ensure index is -1. 

RETURN:索引;如果值沒有找到

Prompt the user once for an element (an integer from 0 to 100) to search for. 
Call your search function with the number to search for and the list. 
Display whether the number was found, and if found, a location where it can be found within the list. 

第2部分:排序 你要實現一個按升序(0,1,...)順序排序列表的函數。您不允許使用JavaScript的sort()方法。 有許多方法可以對您認爲合適的任何方法實施的列表進行排序,只要它按升序對列表進行排序即可。下面介紹了Bubble Sort,這是最直接的排序方法之一。

排序 部分說明評論 輸入:列表中的初始化列表 其他變量:交換 n表示,如果發生了互換。 在列表中搜索多遠。 計算:

Set n to size of list - 1. 
Set swap to FALSE. 
Loop over element 0 through element n in the list. 
    If current element > next element 
     Swap current element and next element. 
     Set swap to TRUE. 
If swap is TRUE, repeat from step 2. n -= 1. 
If swap is FALSE, return the now sorted list. 

Gradually sorts a list. 

第n項正確放置。 RETURN:列表

Call your sort function for your list. You are not permitted to call Javascript's sort() method. 
Display the (sorted) list. 

我不是讓你做我的作業,但可以請你只點我在正確的方向?我想出瞭如何進行冒泡排序,但搜索部分是我最常遇到的問題。

+1

嗨漢娜,歡迎SO。你能發佈你寫過的JavaScript代碼 - 至少是它的相關部分... –

+0

這是一部家庭作業嗎? :) –

+0

你在哪個步驟面臨問題? – r15habh

回答

2
function search(array, value) 
{ 
    for (var i = 0; i < array.length; i++) 
     if (array[i] === value) 
      return i; 
    return -1; 
} 

對於Bubble Sort執行請閱讀this

此外,您可以使用此解決方案:

function search(array, value) 
{ 
    return array.indexOf(value); 
} 
+0

謝謝lajos –

+0

很高興。你試過這個嗎? –