数据结构与算法
wchm_seu
自信、乐观、责任心强;爱好唱歌、羽毛球、旅游等
展开
-
单链表的排序(一)
最近准备整理一些数据结构与算法的一些东西,由于时间有限,直接上算法的代码,希望多某些朋友有些帮助: 代码已经过大概的测试,写的不好,欢迎大家发言讨论 先是插入排序,选择排序,冒牌排序算法 // Link_Node_Operate.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace原创 2012-06-08 14:36:12 · 542 阅读 · 0 评论 -
排序算法的数组实现 -- 插入排序(一)
最近思维有点混乱,在上一些排序算法的代码 插入排序: void Insert_Sort(int *a, int size) { if(size <= 1) return; int key = 0; int i = 0, j = 0; for (i = 1; i < size - 1; i++) { key = a[i]; for (j = i - 1; j >= 0;原创 2012-06-08 16:13:22 · 685 阅读 · 0 评论 -
排序算法的数组实现 -- 堆排序(二)
堆排序: void static Heap_ExChange(int &a, int &b) { int temp = a; a = b; b = temp; } int Heap_Parent(int n_children) { return (n_children - 1) / 2; } int Heap_Left(int n_parent) { return 2 * n_pa原创 2012-06-08 16:14:54 · 722 阅读 · 0 评论 -
排序算法的数组实现 -- 合并排序(三)
static const int Sentinel_Card = 100000;//哨兵,假设元素值都比它小 void static Merger(int *a, int p, int q, int r) { int L_Size = q - p + 1; int R_Size = r - q; int *a1 = new int[L_Size + 1]; int *a2 = new原创 2012-06-12 17:06:15 · 674 阅读 · 0 评论 -
排序算法的数组实现 -- 快速排序(四)
static int Paration(int *a, int nstart, int nend) { int x = a[nend]; int temp = 0; int i = nstart - 1; for(int j = nstart; j < nend; j++) { if(a[j] < x) { temp = a[j]; i = i+1; a[原创 2012-07-13 12:00:15 · 1137 阅读 · 0 评论 -
排序算法的数组实现 -- 桶排序(五)
//桶排序,假设对范围为0-99之间的int型数值进行排序,分成10个相同区间的桶 //这里用到了链表的排序算法,可以从单链表的排序(一)找到相应算法 void Insert_sort_Swap_Node(EleLink *old_froMax_Node, EleLink *old_Max_Node,EleLink *froMax_Node, EleLink *Max_Node) { E原创 2012-07-13 16:57:46 · 915 阅读 · 0 评论