自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

转载 php实现kmp算法

一直也觉得这个算法没啥大的用处,虽然说这个算法是我第一个学起来觉得挺带劲的算法,可是学会了也没用多少,就没公开,最近学到字符串了,题目对时间复杂度有要求,所以我就把它改成php了,后来觉得挺有用的,就上传上来。    $arr_next=array();    function get_next($str_s,&$arr_next){        $i=0;          

2016-01-24 14:43:07 686

转载 php实现归并排序(二)

之前写过一个用php实现归并排序,但是那个里面有使用php的API,于是决定重新写一个,不用PHP api的归并排序。写了一早晨,写出来了又觉得没啥意思了,哎,实现不了堆排序,一切都等于是白说啊。    for($i=0;$i        $arr[$i]=rand(0,10000);    printArr($arr);    echo "";    funct

2016-01-21 15:20:58 254

原创 php实现基数排序

php实现基数排序在百度上查了一下资料,然后又听了一下关于这个的课,感觉不算是原创的吧,因为好多代码的思想都是看别人的。整个代码写了一个多小时,php果然是一个很强大的语言啊,以前都是用c写这类东西,现在突然转到php了,感觉突然还有些不习惯。家里没有暖气,手都快冻僵了,好了,粘代码,暖手。    for($i=0;$i        $arr[$i]=rand(0,10000

2016-01-20 13:58:23 810 1

转载 php实现计数排序

php实现计数排序这个是参考百度百科的C语言版本,算法思想很简单,就是在相等的数处理的时候有问题,不过后来也想通了,也加上了注释。    $arr=array(1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,587,93,47,59,8,2,6,83,4,9,65,2,18,7);    printArr($arr);    echo "";    fu

2016-01-20 11:29:56 460

转载 php实现快速排序

php实现快速排序快速排序:这个算法是参考百度百科的C语言的代码,没有参考php的代码,因为php的代码虽然思路简单,但是中间需要开好得多数组,太过于耗内存。先获取第一个值为关键字,让i指向第一个,j指向最后一个,先从最后一个找比key小的,j指向它,将它放在i指向的地方,然后i再向前走,直到找到比key大的,放在j指向的地方,就这样循环,直到i=j的时候,关闭循环。    $

2016-01-18 14:16:57 299

原创 uva 490

uva 490题挺简单的,就是最坑的是按照最长的字符串输出的,如果其他字符串太短,直接输出空格。#include #include int main(){    char ch[110][110];    int cnt=0,i,j,maxlen=0,len[110];    while(gets(ch[cnt])!=NULL){        len[cnt]=s

2016-01-18 10:51:47 277

原创 uva 673

uva 673这个题以前在数据结构书上面做过,需要使用栈,因为C语言创建一个栈有些麻烦,直接用的是c++的stack,它这个里面有一个期待匹配度,就是在栈顶的左括号是最期待匹配到右括号的,如果没有匹配到它想要的右括号,则直接错误。#include #include #include using namespace std;int main(){    int lim

2016-01-18 10:29:32 373

原创 uva 699

uva 699这个题应该是我在uva上面做的第一个关于二叉树的题,直接一把通过,挺爽的。思路就是用一个数组,在访问根节点时将数组的下标传为1000,然后每次访问左子树,将下标减去1。访问右子树,将数组下标加上1.#include #include #include typedef struct Tnode{    int value;    struct Tnode

2016-01-18 10:28:07 220

原创 uva 548

uva 548这个题是一个关于利用二叉树的中序和后序来确定一棵树的题,先前全做的都是通过先序和中序来确定一颗二叉树,所以还想了好久。总体思路就是,现将二叉树的后序遍历的顺序直接反转,然后通过后序遍历反转以后的第一个数字就是根节点,下来是右子树,下来是左子树以此类推就可以了。#include #include #include typedef struct Tnode{ 

2016-01-18 10:20:59 210

原创 uva 10420

uva 10420#include #include char input[2001][80];int str_cmp(void* a,void* b){    return strcmp((char *)a,(char *)b);}void filter(char * input){    int len=strlen(input);    int i,j=0

2016-01-18 10:16:21 254

原创 uva 10106

uva 10106#include #include void swap(char* input){    int len=strlen(input);    int i;    char temp;    for(i=0;i        temp=input[len-i-1];        input[len-i-1]=input[i];      

2016-01-18 10:14:36 180

转载 uva 621

uva 621#include #include int main(){    char input[1000];    int cnt,i,len;    scanf("%d\n",&cnt);    for(i=0;i        gets(input);        len=strlen(input);        if(len      

2016-01-18 10:12:35 237

原创 uva 579

uva 579水题,不说了,直接上代码#include #include int main(){    float a,b,clock,minute,result;    while(scanf("%f:%f\n",&a,&b)==2){        if(a==0 && b==0)            break;        clock=360*(

2016-01-18 10:11:00 218

原创 uva 575

uva 575#include #include #include int main(){    char input[35];    int i,len,sum;    int s[31];    for(i=1;i        s[i-1]=(int)pow(2,i)-1;    while(gets(input)){        if(

2016-01-18 10:08:59 243

原创 uva 401

uva 401判断是否为回文串和镜像串,在判断是否为回文串的时候问题不大,主要是判断镜像串的时候看怎么将某个字符的镜像字符给取出来,我在这里是使用了一个将字母ascii码减去65,将数值ascii码减去49来实现的。#include #include int palindrome(char * input);int mirror(char * input);void f

2016-01-18 10:05:42 309

转载 uva 10815

uva 10815注意:主要的还是输入的问题,刚开始想的是直接读入字符串,但是又要将字符串分割成一个一个的单词,但是C语言没有这样的函数,所以后来在网上看到一个这样的输入方法,能巧妙的读入每一个字符,并将他们都转成小写,值得推荐阿。#include #include #include #include char word[50005][205];int cmp_st

2016-01-18 10:00:43 201

原创 uva 10055

uva 10055虽然是水题,但是如果使用abs来取绝对值进行运算的话,直接超时。#include int main(){    long int a,b,c;    while(scanf("%ld%ld",&a,&b)==2){        c=a-b;        if(c            c=-c;        printf("%ld

2016-01-18 09:55:07 295

转载 php实现归并排序

php实现归并排序:这个排序我看了很久,大多数代码是从百度上看到的,因为我也是一个php的菜菜的,不过觉得应该把思路写下来,一方面是自己要总结一下,一方面是自己把思路写出来如果有哪里不对的地方也希望有人能帮我指正一下。我感觉归并排序的归就在于递归,并就在于合并。归并排序是分治法的一个重要的体现,所以我们需要用分治法的思想去考虑归并排序。它拿到一个数组了以后,这个数组就好像一个棍子,先将

2016-01-17 22:33:13 1451

原创 php实现插入排序

php实现插入排序:先从第二个数开始,将第二个数和第一个数进行比较,如果第一个数比第二个数大的话,就将第一个数后移,这是第一趟。然后是第二趟,继续前面的。如果还是想不清楚,大家可以想想在玩扑克牌的时候,如果揭到了一张新牌是怎么把它放到正确的位置的,你肯定是先和最后的比较,然后再比较,直到有一个位置是比你正在比较的数小的时候,你就讲牌插在这个地方。$arr=array(1,2,3,5,2,3,9

2016-01-17 22:20:44 291

原创 php实现选择排序

php实现选择排序:这个也是一个O n平方的排序方法,它是一个选择过程,它先在数组中找到最大的数的下标,然后再将最大的数放在最后边(当然你也可以找到最小的数放在最前面),然后再找到第二大的数的下标,然后把它放在倒数第二的位置,就这样一直循环着走length趟。$arr=array(1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,587,93,47,59,8,2,6,83,4

2016-01-17 22:19:58 379

原创 php实现冒泡排序

php实现冒泡排序:       思想很简单,一共执行length-1趟,每一趟将数组从左到右每两个进行比较,大的数都向后移动,这样每次大的数都走到最右边$arr=array(1,2,3,5,2,3,9,8,3,2,7,4,9,8,0,4,587,93,47,59,8,2,6,83,4,9,65,2,18,7);print_r($arr);echo "";function

2016-01-17 22:13:34 230

数据包生成器

可以构造任意的数据包,自我感觉对研究协议的同志很有用,所以快来下载吧。

2014-05-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除