91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 36KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-27
  • 語言: 其他
  • 標簽: 基數排序??

資源簡介

包括了基數排序的實現代碼和流程圖。 先對個位數字進行統計,然后根據個位進行排序,然后對十位進行統計,然后根據十位進行排序,即可獲得最終結果。 時間效率:待排序列為n個記錄,10個關鍵碼,關鍵碼的取值范圍為0-9,則進行鏈式基數排序的時間復雜度為O(4(n+10)),其中,一趟分配時間復雜度為O(2(n+10),一趟收集時間復雜度為O(2(n+10),共進行2趟分配和收集。

資源截圖

代碼片段和文件信息

//基數排序的實現文件
#include?“f_radix_sort.h“
void?f_radix_sort(int?*aint?n)
{
int?ij;//定義2個循環變量
int?barrel[10]={0};//定義一個桶數組,記錄每位數字有多少
int?seat[10]={0};//定義一個位置數組,記錄該次某一個數字排序的位置
int*?b=(int*)malloc(sizeof(int)*n);//申請一塊內存,用來存儲排序之后的a
for(i=0;i {
b[i]=0;
}
for(i=0;i {
for(j=0;j<10;j++)//桶中坐標
{
if(*(a+i)%10==j)//對個位進行記錄,并放入barrel相應的位置中
{
barrel[*(a+i)%10]++;
}
}
}
for(i=1;i<10;i++)//記錄某位在排序中的位置
{
seat[i]=seat[i-1]+barrel[i-1];
}
for(i=0;i {
b[seat[(a[i]%10)]++]=a[i];
}
for(i=0;i {
a[i]=b[i];
}
for(i=0;i<10;i++)//對桶和位置進行初始化,進行下一次使用
{
barrel[i]=0;
seat[i]=0;
}
//以下為十位的排序,結果和個位類似
for(i=0;i {
for(j=0;j<10;j++)
{
if(*(a+i)/10%10==j)
{
barrel[*(a+i)/10%10]++;
}
}
}
for(i=1;i<10;i++)
{
seat[i]=seat[i-1]+barrel[i-1];
}
for(i=0;i {
b[seat[(a[i]/10%10)]++]=a[i];
}
for(i=0;i {
a[i]=b[i];
}
free(b);
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????213??2013-02-22?14:10??test.c

?????文件??????61440??2013-02-22?14:41??基數排序.doc

?????文件???????1223??2013-02-22?14:22??f_radix_sort.c

?????文件????????108??2013-02-22?09:57??f_radix_sort.h

-----------?---------??----------?-----??----

????????????????62984????????????????????4


評論

共有 條評論