摘要: 定义一个栈typedef struct student{ int data; struct student *next;}node;typedef struct stackqueue{ node *zhandi,*top;}; 定义入栈:queue *push(queue *HQ,int x){ n... 阅读全文
posted @ 2015-09-07 16:27 jiguojing 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 首先定义队列:typedef struct student{ int data; struct student *next;}node;typedef struct linkqueue{ node *first,*rear;}queue;定义插入操作:queue *insert(queue *HQ,... 阅读全文
posted @ 2015-09-07 15:37 jiguojing 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 归并排序给我的感觉:编程一定要认真,不然就算你能想通也要纠缠你很长时间(1)本质: 1.分解:用二分法,每次将数组分成两个元素数量相同或者差一个(奇数)的子数组,然后递归直到将子数组分成一个一个的元素,实际数组不用分,你直接将它看成已经分好的元素 2.合并:将len=1的数组合并成len... 阅读全文
posted @ 2015-09-07 11:21 jiguojing 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 一. 希尔排序的实质是分组插入排序,又称为缩小增量排序,是不稳定的排序,并且时效分析很难,因为增量选择的关系二. 思想:将数组按照增量分为若干个子序列分别进行直接插入排序,然后缩减该增量,直到增量等于1,此时该数组基本有序,对该数组进行一次直接插入排序,效率比直接插入高三. 例子 假设有十个数 ... 阅读全文
posted @ 2015-09-07 08:57 jiguojing 阅读(235) 评论(0) 推荐(0) 编辑