
数据结构与算法
数据结构与算法
victory08
程序员最重要的素质就是冷静,还有就是从千头万绪中理出头绪!
展开
-
判断单链表是否有环
#include#includetypedef struct Linklist{ struct Linklist *next;}Node;Node* CreateLinklist(int n){ int i; Node *head,*p,*q; head=(struct Linklist*)malloc(sizeof(Node)); p=head; for(i=0;i { q = (stru原创 2010-04-07 10:48:00 · 445 阅读 · 0 评论 -
归并排序
package my.sort;public class MergerSort { public static void main(String[] args) { int a[] = new int[] { 12, 4, 56, 2, 2, 19, 23, 78, 5 }; sort(a, 0, a.length - 1); for (int i = 0; i < a.len原创 2014-12-21 13:36:05 · 416 阅读 · 0 评论 -
希尔排序
// 希尔排序 private static void ShellSort(int a[]) { for (int s = 5; s > 0; s -= 2) { for (int i = 0; i < a.length; i++) { for (int j = i + s; j < a.length; j += s) { for (int k = j; k - s原创 2014-12-21 13:31:33 · 364 阅读 · 0 评论 -
直接插入排序
/** * 直接插入排序:遍历数组,从第二个元素遍历数组,将遍历的元素依次有序的插入前面的序列中 * @param 待排序数组 */ private static void InsertSort(int a[]) { for (int i = 1; i < a.length; i++) { for (int j = i; j > 0; j--) { if (a[j]原创 2014-12-21 13:27:44 · 364 阅读 · 0 评论 -
折半插入排序
// 折半插入排序 private static void dicInsertSort(int[] a) { for (int i = 1; i < a.length; i++) { int start = 0; int end = i - 1; while (start <= end) { int middle = start + (end - start) /原创 2014-12-21 13:29:50 · 414 阅读 · 0 评论 -
快速排序
JAVA实现: /** * 一定是深刻理解了算法,并且完全按照算法的意思来实现, * 快排是从大端开始,并且大端和小端是交替进行的,交替的同时判断i和j的值,同时把key存放到一个变量中, 不需要每次都 新建一个变量做交换操作 **/ private static void quickSort(int[] a, int start, int end, int size) { if原创 2014-12-21 13:15:22 · 419 阅读 · 0 评论 -
输出字符串的排列数和组合数
输出字符串的排列数和组合数都是通过递归的方式实现的,直接上代码吧1 输出一个字符串的所有原创 2014-11-23 22:55:55 · 939 阅读 · 0 评论 -
求两个数的最大公约数和最小公倍数
1 如何求最大公约数方法:辗转相除法方法介绍: 始终用较大数除以较小数,然后用余数代替较大数。整除时的除数就是最大公约数。举例:222 407求最大公约数:222 407(407除以222余数185)222 185(222除以185余数37)37 185(185除以37余数0)所以最大公约数为37C语言实现#include#include//求两个数的最大公约数int Maxcd(int原创 2010-04-26 16:52:00 · 1051 阅读 · 0 评论 -
回溯算法经典应用:迷宫求解
看这个程序把握两点:1 栈的作用2 while+if结构的巧妙应用 /**//* 使用回溯法计算迷宫问题 */#include #include struct pos{ int row; int col;};void main(){ int maze[5][5]={ 0,1,0,1,0, 0,0,0,1,0, 0,转载 2010-04-08 20:20:00 · 436 阅读 · 0 评论 -
动态分配内存返回地址对齐的指针
今天在调用一个引擎接口的时候,发现要求传入的资源地址要按照16位对齐,即地址值要能被16位整除,资源地址是把资源文件加载到内存的首地址,使用malloc按照资源文件的长度分配,malloc返回的地址不一定满足按照16位对齐,从网上找的一个方法: 原文应用地址:http://blog.youkuaiyun.com/typhoonzb/article/details/4732520 int mallocedMe原创 2016-01-21 17:14:24 · 2809 阅读 · 0 评论