頁:
[1]
請大大ㄅ我把c語言的氣泡排序法改成MIPS語言指令
本帖最後由 goodbye_mylove 於 2011-6-7 06:20 PM 編輯開發Bubble sort排序組合語言程式。排序對象為一般整數,(若能擴大至一般浮點數則更佳),程式需能指定排序方向(由小而大排序或由大而小),程式的輸入參數有四,分別是原始數列基底位址、排序後數列基底位址、數列元素個數以及排序方向(值0:由小而大排序,值1:由大而小排序)。測試程式時,讓排序程式執行兩次,分別執行由小而大,以及由大而小之排序各一次,並輸出排序後數列到MARS的Run I/O視窗中。輸入資料以及排序選項值可直接置放於程式之前的資料定義處。測試資料如下:10, 9, 7, 8, 1, 2, 4, 3, 5, 5 繳交內容:1. 全部程式碼檔案(包括呼叫程式、QuickSort程式、輸出資料程式碼)2. 全部程式執行後的Run I/O視窗畫面(可利用PrtScn按鍵擷取),其內為排序後的數列(由小而大,以及由大而小各一組數列)
/*
[名稱]:ch07_01.cpp
[示範]:傳統氣泡排序法
*/
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int data={6,5,9,7,2,8}; // 原始資料
cout<<"氣泡排序法:\n原始資料為:";
for (int i=0;i<6;i++)
cout<<setw(3)<<data;
cout<<endl; for (int i=5;i>0;i--) // 掃瞄次數
{
for (int j=0;j<i;j++) //比較、交換次數
{
if (data>data) // 比較相鄰兩數,如第一數較大則交換
{
int tmp;
tmp=data;
data=data;
data=tmp;
}
}
cout<<"第 "<<6-i<<" 次排序後的結果是:"; //把各次掃描後的結果印出
for (int j=0;j<6;j++)
cout<<setw(3)<<data;
cout<<endl;
}
cout<<"排序後結果為:";
for (int i=0;i<6;i++)
cout<<setw(3)<<data;
cout<<endl;
}
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 請各位答答答幫幫忙
請各位答答答幫幫忙
請各位答答答幫幫忙
MIPS組合語言,這未免太...... X86組合語言會寫的都剩不多了. 你要不用Compile 成組合語言,然後再來改?{:44:}
頁:
[1]