2014-03-26 68 views
-1

我想在我的TI計算器上編程一個程序,該程序使用一種通過算法(不通過對列表進行排序)查找序列中第二大整數。 任何人都可以幫助TI計算器程序或一般簡單的程序。Second-Largest Integer

回答

1

算法很簡單:

# Start by getting the first two numbers (in order). 

if num[1] > num[2]: 
    set first to num[1] 
    set second to num[2] 
else: 
    set first to num[2] 
    set second to num[1] 

# Process every other number. 

for each index 3 through size(num) inclusive: 
    # If greater than current highest, insert at top. 

    if num[index] > first: 
     second = first 
     first = num[index] 
    else: 
     # Otherwise if greater than current second highest, insert there. 

     if num[index] > second: 
      second = num[index] 

它基本上保持了兩個最高編號列表並將其替換,根據需要,比較所有其它的數字時。這是一個按要求的單程算法。

您可能還想考慮在列表中存在重複項時您想要的行爲。例如,列表1 1 2目前會給你1作爲列表中第二高的整數。如果這是不可接受的,那麼就必須對算法進行小的調整。

無論如何,我在那裏給你的是一個很好的起點,並且將它翻譯成你的TI計算器語言是一個我將留給你的任務。