iThome online | iThome Blog | iThome周刊訂閱

載入中...

nickandy2002

IT邦初學者
10級

請問作業系統的書籍上寫的程式要在那邊撰寫如 排序

請問作業系統的書籍上寫的程式要在那邊撰寫如 排序
不知有大大高手幫小弟解惑一下 不懂謝謝 請賜教



收到書籤:發佈到twitter      
解決時間:2008-12-03 19:21:00
發問時間:2008-11-30 16:57:16

▼ ADVERTISEMENT ▼

最佳解答(發問者自選)
11
iT邦守護神

回答:antijava ( IT邦初學者1級 )

時間:2008-11-30 18:07:43

要撰寫「排序」
就選擇一個你熟悉的「程式語言」去寫就可以了
不一定要Java,.NET這種編譯式語言
Perl,PHP這類shell script
甚至.bat
還是assembly組合語言都可以

奇怪,「排序」好像不是「作業系統」的書教的吧?
還是我唸的是舊教材?

2008-11-30 18:08:42補充
寫錯了

Perl,PHP比較偏直譯式語言

shell script應該是bsh,ksh,csh之類的東東才對

[-隱藏]

回應

george 說:

很好奇?

.bat 的排序程式要如何撰寫?

2008-12-01 08:57:41

antijava 說:

哈, 牛皮吹破了 ^_^

硬著頭皮寫了個四個值的排序給大家笑一笑

執行方式:swap 8 9 20 34
先將以下的程式碼存成 swap.bat
@ECHO OFF
SET N1=%1%
SET N2=%2%
SET N3=%3%
SET N4=%4%

ECHO ORIGIN:%n1% %N2% %N3% %N4%

IF %N1% GTR %N2% GOTO SWAPN1N2
:NEXT01
IF %N1% GTR %N3% GOTO SWAPN1N3
:NEXT02
IF %N1% GTR %N4% GOTO SWAPN1N4
:NEXT03
IF %N2% GTR %N3% GOTO SWAPN2N3
:NEXT04
IF %N2% GTR %N4% GOTO SWAPN2N4
:NEXT05
IF %N3% GTR %N4% GOTO SWAPN3N4
:NEXT06

ECHO SORTED:%n1% %N2% %N3% %N4%

GOTO STOP

:SWAPN1N2
SET TEMP=%N1%
SET N1=%N2%
SET N2=%TEMP%
GOTO NEXT01

:SWAPN1N3
SET TEMP=%N1%
SET N1=%N3%
SET N3=%TEMP%
GOTO NEXT02

:SWAPN1N4
SET TEMP=%N1%
SET N1=%N4%
SET N4=%TEMP%
GOTO NEXT03

:SWAPN2N3
SET TEMP=%N2%
SET N2=%N3%
SET N3=%TEMP%
GOTO NEXT04

:SWAPN2N4
SET TEMP=%N2%
SET N2=%N4%
SET N4=%TEMP%
GOTO NEXT05

:SWAPN3N4
SET TEMP=%N3%
SET N3=%N4%
SET N4=%TEMP%
GOTO NEXT06

:STOP

2008-12-01 14:51:57

liqunyan 說:

其實,批次檔就用sort就可以排序啦!這樣應該不算作弊啦!
用pipeline,把資料倒入sort就可以排序。
只是這樣不算寫程式就是。

2008-12-01 15:41:56

請問作業系統的書籍上寫的程式要在那邊撰寫如 排序
回答:liqunyan( IT邦初學者4級 )
時間:2008-11-30 21:02:09
10
演算法則或資料結構,會要求你寫「排序」,用各種演算法則練習寫出Sort。
作業系統的作業會要你寫「排程」,Schedule。
差一個字差很多哩!
排序,很多地方都找得到範例,各種語言的版本,各種演算法則的版本。
排程就牽涉到你對OS教科書上,排程演算法則的理解了,SJF、Round Robin……
關鍵在於Context Switch的方法(演算法則),你得理解,才能寫出程式(程式本身是沒多困難)。

參考資料:個人意見

回答:shen129( IT邦初學者7級 )
時間:2008-12-01 04:18:29
7
有點不太能理解你的問題,你是問說
1. 類似排序那樣的演算法要如何應用在一般程式撰寫上面嗎?
2. 還是可以在哪個平台/語言開發環境上撰寫排序這個演算法?
3. OS課本上所教的那些排序概念,我要怎麼去測試和實現?

若是1,除非你真的很有心想自己硬幹出一些很複雜的邏輯,不然把資料排序的功能交給Database來處理吧,SELECT + ORDER BY是你資料排序的好朋友

若是2,排序是演算概念,跟語言層次是不太相關的,任何語言都可以撰寫排序演算法,有資料(或者物件)的地方就有可能會有排序的需求

若是3,OS課本上所提出的排序概念僅是很廣泛的概念,我不想澆熄你對學習的熱情,但還是要跟你說,記下來就好

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

▼ ADVERTISEMENT ▼

熱門標籤

 ccna代考   cisco   crystal   erp   it   java   javascript   linux   m-power   mail   microsoft   msnsdk   msn機器人   mysql   nas   oracle   outlook   pmi   pmp   raid   report   sap   server   smartquery   sql   vista   vpn   web   windows   xp   倍力   倍力資訊   免費軟體   國際專案管理師   報表   專案管理   微軟   有話大聲說   活動   省錢   硬碟   網站安全   網路儲存   網路管理   網頁安全   資安   資料庫   資訊安全   2003   2008