c語言中資料結構之鏈式基數排序
實現效果圖:
例項**:
#include
#include
#include
#define true 1
#defiwww.cppcns.comne false 0
#define ok 1
#define error 0
#define infeasible -1
typedef int status;
ty程式設計客棧pedef int elemtype;
#define max_num_of_key 8 //關鍵字項數最大值
#define radix 10 //關鍵字基數,此時是十進位制整數的基數
#define max_space 100 //書上為10000
#define ord(ch) ((ch)-'0')
#define succ(x) ((x)+1)
typedef char keytype;
typedef struct
slcell; //靜態連結串列的結點型別
typedef struct
sllist; //靜態連結串列型別
typedef int arrtype[radix]; //指標陣列型別
/*******************************宣告部分****************************************/
/*******************************函式部分****************************************/
void distribute(slcell r,int i,arrtype f,arrtype e)
}void createsll(sllist *l)
for(i = 0;irecnum;++i)
l->r[i].next = i+1;
l->r[l->recnum].next = 0;
}void tr**ersesll(sllist l)
printf("\n");
}/*******************************主函式部分**************************************/
int main()
本文標題: c語言中資料結構之鏈式基數排序
本文地址:
基數排序 C語言資料結構
include define n 10 函式功能 求一個整數的第k位的值 函式原型 int digitk int no,int k 函式引數 函式返回值 返回資料的位數 作者 李文塔 wenta li 日期 2008年5月21日 11 19 int digitk int no,int k else ...
資料結構之基數排序
include includeint getlooptimes int num return count int findmaxnum int p,int n return max void sort2 int p,int n,int loop p為排序陣列,n為陣列長度,loop為分配次數 定義的...
資料結構 排序 基數排序
關於基數排序要記住 1.唯一不基於比較的內排序 3.穩定 4.時間複雜度與初始狀態無關 基數排序的思想 先分配 從左到右拿起資料,放到不同的桶子裡面 後收集 從左到右拿起桶子,先進先出取出資料 類別排序方法 最好時間 最壞時間 平均時間 空間複雜度 穩定性序列特徵 適用於基數排序 r nd r n ...
資料結構 基數排序
基數排序和其他一般的排序演算法不同,一般的排序演算法主要是通過關鍵字之間的比較和移動記錄這兩種操作,而實現基數排序則不需要進行記錄關鍵字間的比較。基數排序是一種藉助多關鍵字排序的思想,對單邏輯關鍵字進行排序的方法。基數排序 演算法思想 假設我有資料 11 23 45 29 31 67 59 32 假...
資料結構 基數排序
10為進位制 基數排序 c 語言 author skywang date 2014 03 15 include 陣列長度 define length array sizeof array sizeof array 0 獲取陣列a中最大值 引數說明 a 陣列 n 陣列長度 int get max in...
資料結構 基數排序
基數排序是基於箱子排序,把數按照某種基數分解成數字,然後對數字進行排序,如將375按基數10分解為3 7 5,然後先按個位數進行排序,再按十位數 百位數。針對箱子排序演算法的 n range 如果要在0 n 4裡面對10個數進行排序,則n 10,range n 4,那麼箱子排序的時間效能便為 n 4...
資料結構25 基數排序
分析演算法過程 public class radixsort radixsort arr 基數排序方法 public static void radixsort int arr 按照這個桶的順序 一維陣列的下標依次取出資料,放入原來陣列 int index 0 遍歷每一個桶,並將桶中的資料放入到元素...
C 資料結構之鏈式棧 二十
引用部落格 順序棧 鏈式棧 鏈式棧是通過單連結串列來實現的。每次入棧一個元素,向連結串列中新增一個節點,出棧一個元素,釋放一個節點。因為棧具有 後進先出 的特點,如果每次在連結串列的尾部進行插入和刪除,就要遍歷整個連結串列來找到尾節點。而在頭部進行插入和刪除時,只需根據頭指標即可找到連結串列的首元素...
資料結構之鏈式棧
實現 鏈式棧 class linkstack class entry public entry int data 入棧 鏈式棧入棧的時候我們使用頭插法 public void inserthead int val 出棧 因為棧是先進後出的,而且我們使用了頭插法,所以我們只需刪除第一個結點就行 pub...
資料結構之鏈式棧
鏈式棧是一種將連結串列和棧結合的資料結構,他有著棧的優點,也同時有著連結串列大小沒有限制的優點,它裡面的資料是由一個個節點所構成的 它是由是一個連結串列和一個棧組成,如圖所示 typedef struct link link typedef struct lstack lstack lstack l...