伊莉討論區
標題:
請大大ㄅ我把c語言的氣泡排序法改成MIPS語言指令
[打印本頁]
作者:
dick10393
時間:
2011-6-6 09:12 PM
標題:
請大大ㄅ我把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]={6,5,9,7,2,8}; // 原始資料
cout<<"氣泡排序法:\n原始資料為:";
for (int i=0;i<6;i++)
cout<<setw(3)<<data[i];
cout<<endl; for (int i=5;i>0;i--) // 掃瞄次數
{
for (int j=0;j<i;j++) //比較、交換次數
{
if (data[j]>data[j+1]) // 比較相鄰兩數,如第一數較大則交換
{
int tmp;
tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
cout<<"第 "<<6-i<<" 次排序後的結果是:"; //把各次掃描後的結果印出
for (int j=0;j<6;j++)
cout<<setw(3)<<data[j];
cout<<endl;
}
cout<<"排序後結果為:";
for (int i=0;i<6;i++)
cout<<setw(3)<<data[i];
cout<<endl;
}
複製代碼
作者:
dick10393
時間:
2018-6-1 02:45 PM
請各位答答答幫幫忙
請各位答答答幫幫忙
請各位答答答幫幫忙
作者:
mdlin
時間:
2018-6-3 05:16 PM
MIPS組合語言,這未免太...... X86組合語言會寫的都剩不多了. 你要不用Compile 成組合語言,然後再來改?
歡迎光臨 伊莉討論區 (http://www56.eyny.com/)
Powered by Discuz!