排序 基數排序(桶排序)

2021-09-11 04:24:13 字數 1092 閱讀 2365

最低位優先法,簡稱lsd法:先從最低位開始排序,再對次低位排序,直到對最高位排序後得到乙個有序序列。

#include#include#includetypedef struct node

node,*list;

void initlist(list plist)

static node *getnode(int val)

bool insert_tail(list plist,int val)//尾插法

node *pget = getnode(val);

cur->next = pget;

return true;

}bool delete_first(list plist,int *rtv)

*rtv=pdel->data;

plist->next=pdel->next;

free(pdel);

pdel=null;

return true;

}void show(int *arr,int len)

} while(max!=0)

return count; }

int getnum(int num,int figures)

return temp;

}void radix(int *arr,int len,int figures )//figures 從右往左的第figures位

//1.入桶--》拿數字,判斷figures位,入相應的桶

int tmp=0;

for(i=0;i//2.出桶

i=0;

for(int j =0;j<10;j++)//j代表桶的個數

}}//基數排序 時間複雜度 o(d*n)

void radix_sort(int *arr,int len)

}int main()

; int len=sizeof(arr)/sizeof(arr[0]);

radix_sort(arr,len);

show(arr,len);

system("pause");

return 0;

}

基數排序(桶排序)

1。什麼是基數排序 radix sort 基數排序 屬於分配式排序 distribution sort 又稱 桶排序 bucket sort 它是通過鍵值的各個位的值,將要排序的元素分配至某些 桶 中,達到排序的作用。2.它和歸併一樣,屬於穩定型演算法。public void radixsort i...

基數排序(桶排序)

思想 先把這組資料的個位排有序,再把十位排有序,再排百位 千位 include include include include void showarr int arr,int len printf n int getmaxnumfin int arr,int len 找陣列中最大數,並求出最大數的...

基數排序 桶排序

1.基數排序又稱桶排序,具體思想就是將數值當成陣列的下標儲存。2.將所有數值拿出個位來比較,例如值為m的就存入下標為m的陣列中。3.將比較後的陣列拿出即為按個位排序好的陣列,再將這個排序好的陣列按十位排序。4.比較完個十百千所有位數以後即排序完成。兩種 實現思路都是一樣的,實現方式1可直接改寫為c或...