導航:首頁 > 編程語言 > 數據排序程序實驗

數據排序程序實驗

發布時間:2024-07-03 05:39:47

Ⅰ c語言先排序後折半查找程序的實驗報告

1實驗目的:熟練掌握一維數組,二維數組的定義,初始化和輸入輸出方法;熟練掌握與數組有關的常用演算法(如查找,排序等)。
2實驗內容:設定一個整形數組存放20個元素,用直接賦值的方法在程序中初始化該數組。先對這些無序的數據進行排序,然後採用折半查找,把要尋找的數的位置輸出出來。
3演算法描述流程圖

源程序:#include<stdio.h>
void main()
{int k,s,b,i,j,m,n,a[20]={12,9,16,21,6,11,19,4,8,20,15,2,5,18,14,7,3,10,13,17};
for(s=0;s<20;s++)
{
for(i=s+1;i<20;i++)
{
if(a[s]>a[i])
{
j=a[s];
a[s]=a[i];
a[i]=j;
}
}
}
scanf("%d",&b);
m=0;
n=19;
while(m<=n)
{
k=(m+n)/2;
if(b==a[k])
{
printf("FOUND\n");
printf("%d\n",k+1);
break;
}
else
{
if(b<a[k])
n=k-1;
else
m=k+1;
}
if(m>n)
printf("NO FOUND");
}
}

5測試數據:3,5, 20,30

6運行結果:FOUND 2;FOUND 4;FOUND 19 ;NO FOUND

7出現問題及解決方法:編譯時出錯,修改源程序,直到沒有錯誤為止

8實驗心得:通過折半查找,可以實現對數組數據的處理,並且增加了查找速度

Ⅱ 使用單片機匯編語言冒泡法排序

一、實驗要求
給出一組隨機數,將此組數據排序,使之成為有序數列
二、實驗目的
1.了解數據排序的簡單演算法。
2.了解數列的有序和無序概念
三、實驗說明
有序的數列更有利於查找。本程序用的是「冒泡排序」法,演算法是將一個數與後面的
數相比較,如果比後面的數大,則交換,如此將所有的數比較一遍後,最大的數就會在
數列的最後面。再進行下一輪比較,找出第二大數據,直到全部數據有序。
四、程序框圖

Size equ 10 ; 數據個數
Array equ 50h ; 數據起始地址
Change equ 0 ; 交換標志

Sort:
mov r0, #Array
mov r7, #Size-1
clr Change
Goon:
mov a, @r0
mov r2, a
inc r0

mov B, @r0
cjne a, B, NotEqual
sjmp Next
NotEqual:
jc Next ; 前小後大, 不交換

setb Change ; 前大後小, 置交換標志
xch a, @r0 ; 交換
dec r0
xch a, @r0
inc r0
Next:
djnz r7, Goon
jb Change, Sort
ljmp $

end
引自:偉福單片機開發平台軟體實驗

Ⅲ 單片機排序程序

MOV R5,#16
MOV R6,#40H
LONG:
MOV R4,#15;16個數比較15次
MOV A,30H;將30H裡面的內容復給A
MOV R0,#31H;讓其從31H開始自加到3FH
L:
SUBB A,@R0;31H裡面的內容和30H裡面的內容進行相減比較求C
JC XU;如果C=0則表示A裡面的內容大於@R0裡面的內容否則小於跳轉XU
INC R0;R0加1到下一單元地址
DJNZ R4,L;15次比較沒有結束跳轉到L繼續執行
AJMP LL;如果15次循環完畢則求出最大值,然後再循環求出次大值
XU:
MOV A,R0;放比較數的地址送A,以清零方便為第二次比較
MOV R1,A;方便清零
MOV A,@R0;最大值送A
INC R0
AJMP LL
LL:
MOV @R1,#00H;最大值地址清零,然後再比較15次求次大值
MOV R6,A;最大值送40H
INC R6
DJNZ R5,LONG;判斷是否全部從大到小排完
AJMP TT
TT:
END

閱讀全文

與數據排序程序實驗相關的資料

熱點內容
書香門第安卓 瀏覽:395
如何分離編程數值 瀏覽:996
描述文件是幹嘛的 瀏覽:868
文件格式化恢復 瀏覽:353
v顯卡驅動程序源碼 瀏覽:44
iphone5s聲音小怎麼解決 瀏覽:656
文件名文字看不清了 瀏覽:313
電腦找不到cftmon文件 瀏覽:768
qq分組久伴酒伴久伴 瀏覽:697
文檔轉成pdf格式文件 瀏覽:621
離子數據怎麼寫 瀏覽:876
jspapijar官網下載 瀏覽:366
html調用文本文件 瀏覽:921
想學數控編程哪裡好 瀏覽:860
js獲取系統動態時間間隔 瀏覽:165
win10改win7進pe卡住 瀏覽:456
u盤中毒ink文件 瀏覽:718
蘋果換機數據遷移包含哪些數據 瀏覽:234
程式控制可編程直流電源在哪裡 瀏覽:598
容積長寬高的數據從什麼面測量 瀏覽:978

友情鏈接