我選擇二進制搜索記錄數組的索引ascasestudy對於我的研究生的研究由C++和haskell編寫編寫 C++代碼和工作,現在我爲haskell一個在haskell中通過冒泡排序在排序的索引中進行搜索
import Data.List
data BookInfo = Book Int String [String]
deriving (Show)
--Entering變量
entering :: Int String [String]-> Book
entering id name subject= Book id name subject
--make元組的陣列的IDEX
index :: [Book]->[Int]
index [m] = getID (Book id _ _ ) = id
main :: IO()
main = do
putStrLn "Please enter your book id,name,Subject"
Book inpStr <- getLine
putStrLn print r
- 冒泡使用地圖
bubbleSort ::(Ord x) => [x] -> [x]
bubbleSort (x':xs) = if x>x' then x': bubbleSort(x:xs)
else
if x<x' then x: bubbleSort(x':xs)
else
x: bubbleSort(X':xs)
bubble ::[a] -> [a]
bubble [a] = map bubbleSort [a]
--make指數爲陣列
indexsort(ord a)::[int]->[Int]
indexsort a=bubble a
--make元組的列表
addBooks2List Book->[Book]->[Book]
addBooks2List b m=b:entering b':m
--binarysearch
binarysearch [Int]->Int->Int->Int->Int
a=bubble x
binaryseach a i m j=
let u=(i+m)/2
if a[u]=j then u
if a[u]>j then binaryseach a i u-1 j
else
if a[u]<j then binarysearch a u+1 m j
if i=m "Not found"
--printing具有搜索ID
print::Int->Book
print r= Book r y z
r=binaryseach m 0 (length m)
它在8犯了一個錯誤的元組:輸入3解析錯誤「進入」這個錯誤是什麼意思?以及我如何糾正它?
謝謝你的幫助 – 2012-07-16 09:05:20