数据结构
hellBaron
让代码说话Let the code speak to you
展开
-
c语言list操作
#include <stdlib.h>#include<stdio.h>typedef struct Lnode{ int data; struct Lnode *next;} LND, *lnd;lnd malloclist(lnd l){ l = (lnd)malloc(sizeof(LND)); return l;}...原创 2019-12-17 15:53:12 · 1454 阅读 · 0 评论 -
insert排序
插入排序是从第二个元素开始找起来,如果小于第一个元素就插入成为第一个元素。如果从第n个元素找起,前面n个元素通过插入排序已经排好,第n+1个元素只需要和前面已经插入排序好的元素来进行比较,如果找到自己的位置t, 那么原来的t到n个元素的位置都要相应向后移动一位。插入排序代码如下。/***************************************************原创 2015-07-06 22:46:02 · 603 阅读 · 0 评论 -
shell排序
shell排序是通过分组来进行排序,让后一个分组的数字和前面一个分组的数字进行对比,如果大于(或者小于),那么进行替换。排好之后再进行下一轮排序。shell排序的代码如下:/************************************************************************* > File Name: test.c > Autho原创 2015-07-06 21:32:59 · 1135 阅读 · 0 评论 -
leetcode 3sum c语言
c语言版本我只是写出了输出版本,由于对c的二维指针内存分配不是很清楚,所以没有按照题目上规定定义函数。如果有人看到能帮我修改一下最好了,欢迎留言。思路:1,先按照由小到大把数组排序2,循环取第i位,数值a[i], 后面剩余的由旁边向中间扫描,看是否符合 a[m]+a[n] == -a[i],如果a[m]+a[n]>-a[i],则向右边移动m,如果小于则向左边移动n /****原创 2015-07-10 09:59:31 · 1431 阅读 · 0 评论 -
quick_sort(快速排序)c语言实现
晚上看算法导论,复习了一下快速排序。快速排序最坏运行效率为o(n2),就是它已经排序好的情况下。算法c语言代码如下/************************************************************************* > File Name: quick_sort.c > Author: wayne > Mail:原创 2015-07-08 09:56:21 · 5183 阅读 · 0 评论 -
学习资料
数据结构:http://www.shiyanlou.com/courses/20原创 2015-03-06 09:43:19 · 714 阅读 · 0 评论 -
大牛的博客
暂时粘贴一下,慢慢看,慢慢实践尹成清华的学生,功底很扎实,最主要的还是他们很努力,看到很多博客都是凌晨发的。原创 2014-12-27 15:44:27 · 485 阅读 · 0 评论 -
二叉树的操作
有点笨,不过理解力还好:http://arc9.riaos.com/?p=5922以下是google的一些课程http://mooc.guokr.com/post/610231/原创 2015-01-30 15:04:47 · 463 阅读 · 0 评论 -
堆栈的实现
堆栈后进先出基本的操作有:push(入堆) pop(弹出)入堆:将数据放入到堆栈的顶部弹出:将顶端的数据输#include#include #include typedef struct Stack{ int Array[10]; int Top;} Stack;int stack_empty(Stack *Stack1){ if(Stac原创 2014-12-19 16:41:15 · 530 阅读 · 0 评论 -
图的学习
http://blog.chinaunix.net/uid-26548237-id-3483650.html转载 2014-07-17 10:20:20 · 463 阅读 · 0 评论 -
数据结构库
sourceforge下面的,具体地址如下:http://sourceforge.net/p/cdsc/code/ci/master/tree/项目名称是 c data structure collection原创 2013-08-28 22:59:12 · 595 阅读 · 0 评论 -
一些排序方法
从网上找了一些排序方法,可能以后用的着,自己先编写一下,然后存下来1.冒泡法思想:1.从A[0]到A[N],相邻的两个数进行比较,如果满足条件则交换,如此反复。2.这种算法要经过N-1轮的大循环。以下是维基百科思想:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对原创 2010-11-05 14:20:00 · 601 阅读 · 0 评论 -
最简单的二叉树
#include #include typedef struct tree{ char data; tree *lchild; tree *rchild;} Tr;Tr *Creattree(Tr *tr){ Tr *a,*b; tr=(Tr*)malloc(sizeof(Tr)); tr->data=0; //树的第原创 2010-11-02 15:20:00 · 750 阅读 · 0 评论 -
c语言中队列
队列的定义:struct QueueRecord { int Capacity; int Front; int Rear; int Size; ElementType *Array; };判断队列是否满了:int IsFul原创 2013-02-28 10:29:31 · 561 阅读 · 0 评论