C語言資料結構之排序部分

2021-10-03 17:57:12 字數 2674 閱讀 3052

氣泡排序

#include

void bubblesort(int a,int n);

int main()

;bubblesort(a,8);

for(i = 0;i < 8;i++)

printf("\n");

return 0;

}void bubblesort(int a,int n)}}

}改進#include

void bubblesort(int a,int n);

int main()

;bubblesort(a,8);

for(i = 0;i < 8;i++)

printf("\n");

return 0;

}void bubblesort(int a,int n)}}

}直接插入排序

#include

void insertsort(int a,int n);

int main()

;insertsort(a,8);

for(i = 0;i < 8;i++)

printf("\n");

return 0;

}void insertsort(int a,int n)

else

break;

}a[j+1] = x;}}

改進#include

void insertsort(int a,int n);

int main()

;insertsort(a,8);

for(i = 0;i < 8;i++)

printf("\n");

return 0;

}void insertsort(int a,int n)

}鍊錶實現

#include

#include

typedef struct node

elemsn;

elemsn * createlink(int a,int n);

void printlink(elemsn *h);

elemsn * insertsort(elemsn *h);

int main()

;elemsn *head;

//建立單向鍊錶

head = createlink(a,8);

//列印

printf("原煉表為:");

printlink(head);

printf("\n");

//按直接插入排序公升序排列

head = insertsort(head);

printf("直接插入排序後的公升序順序為:");

printlink(head);

printf("\n");

return 0;

}elemsn * createlink(int a,int n)

return h;

}void printlink(elemsn *h)

}elemsn * insertsort(elemsn *h)

else //兩指標聯動

}else

else //中間、尾插

}//else

}//while

}//while

return h;

}直接選擇排序

#include

void selectsort(int a,int n);

int main()

;selectsort(a,8);

for(i = 0;i < 8;i++)

printf("\n");

return 0;

}void selectsort(int a,int n)

}if(i != kmin)}}

鍊錶實現直接插入排序公升序排列

#include

#include

typedef struct node

elemsn;

elemsn * createlink(int a,int n);

void printlink(elemsn *h);

elemsn * insertsort(elemsn *h);

int main()

;elemsn *head;

//建立單向鍊錶

head = createlink(a,8);

//列印

printf("原煉表為:");

printlink(head);

printf("\n");

//按直接插入排序公升序排列

head = insertsort(head);

printf("直接插入排序後的公升序順序為:");

printlink(head);

printf("\n");

return 0;

}elemsn * createlink(int a,int n)

return h;

}void printlink(elemsn *h)

}elemsn * insertsort(elemsn *h)

else //兩指標聯動

}else

else //中間、尾插

}//else

}//while

}//while

return h;

}

C語言資料結構之遞迴部分

陣列遞迴 逆序輸出 include void preprint int a,int n int main preprint a,6 return 0 void preprint int a,int n 逆序輸出2 include void preprint int a,int n int main ...

c語言資料結構之 快速排序

編譯器 vs2013 1 include stdafx.h 2 include3 include45 函式宣告67 void quicksort int a,int n 快速排序 從小到大 8void qsort int a,int m,int n 快速排序的遞迴呼叫 9int pratition ...

c語言資料結構之 堆排序

演算法 先生成隨機數,賦值到陣列,將陣列第乙個元素a 0 設定為哨兵,函式呼叫陣列和隨機數個數n,再設定n 2的根結點與孩子結點進行比較操作,若右孩子存在,則選出三個數里最小的數賦值給根節點,如果右孩子不存在,則只需比較左孩子與根節點大小,一直迴圈操作至a 1 再從a 2 開始進行根結點與孩子結點進...