ToyaOP ToyaOP
关注数: 57 粉丝数: 343 发帖数: 608 关注贴吧数: 46
请问一下程序运用了KMP算法没 如果没有运用了什么算法?看不太明白 #include<stdio.h> #include<string.h> #include<iostream> #define MaxStrSize 256 //根据用户需要自己定义大小 using namespace std; typedef struct {            char ch[MaxStrSize]; //ch是一个可容纳256个字符的字符数组            int length; } SString;//定义顺序串类型 int PartPosition (SString s1,SString s2,int k) {     int i,j;        i=k-1;       //扫描s1的下标,因为c中数组下标是从0开始,串中序号相差1      j=0;//扫描s2的开始下标      while(i<s1.length && j<s2.length)     {if(s1.ch[i]==s2.ch[j])          { i++;j++; //继续使下标移向下一个字符位置          }     else        {             i=i-j+1; j=0;          } }     if (j>=s2.length)        return i-s2.length;     else        return -1;//表示s1中不存在s2,返回-1        //表示s1中存在s2,返回其起始位置          } //函数结束      void CreatTextFile()        {            SString S;            char fname[10],yn;            FILE *fp;           printf("输入要建立的文件名:");           scanf("%s",fname);           fp=fopen(fname,"w");           yn='n';//输入结束标志初值                  while(yn=='n'||yn=='N')                  {                           printf("请输入一行文本:");gets(S.ch);gets(S.ch);                           S.length=strlen(S.ch);                           fwrite(&S,S.length,1,fp);                            fprintf(fp,"%c",10);//是输入换行
求教fatal error C1083: Cannot open include file: 'Stack.h' //头文件   Stack.h #ifndef _Stack_h struct Node; typedef struct Node *PtrToNode; typedef PtrToNode Stack; typedef int ElementType; int IsEmpty(Stack S); Stack CreateStack(void); void DisposeStack(Stack S); void MakeEmpty(Stack S); void Push(ElementType X,Stack S); ElementType Top(Stack S); int Pop(Stack S); #endif /*_Stack_h*/ //主文件   功能自己看函数名字~~见名知意 #include "Stack.h" #include <stdio.h> #include <stdlib.h> struct Node { ElementType Element; PtrToNode Next; }; Stack CreateStack(void) {     Stack S;     S=malloc(sizeof(struct Node));     if(S==NULL)       printf("出错啦");     S->Next=NULL;     MakeEmpty(S);     return S; } int IsEmpty(Stack S) {     return S->Next==NULL; } void MakeEmpty(Stack S) { if(S==NULL)    printf("出错啦"); else    while(!IsEmpty(S))     Pop(S); } void Push(ElementType X,Stack S) { PtrToNode TmpCell; TmpCell=malloc(sizeof(struct Node)); if(TmpCell==NULL)      printf("出错啦"); else {    TmpCell->Element =X;    TmpCell->Next =S->Next ;    S->Next =TmpCell; } } ElementType Top(Stack S) { if(!IsEmpty(S))      return S->Next ->Element; printf("出错啦"); return 0; } int Pop(Stack S) { PtrToNode FirstCell;      int x=0; if(IsEmpty(S))    printf("出错啦"); else {             FirstCell=S->Next ;          x=FirstCell->Element ;    S->Next =S->Next ->Next ;    free(FirstCell); } return x; } void main() { int x; Stack S,top;      S=CreateStack(); top=S;      Push(3,S); Push(2,S); Push(4,S); //Pop(S); S=top; for(x=0;x<3;x++) {    printf("%d\n",S->Next->Element);       S=S->Next ; } }
[轻松一刻]怀旧笑话-----为了忘记KK离开的痛楚 大一的时候,上法律课,我们法律老师有个癖好,喜欢提问,提问之前必高声重复一遍问题。有一次正在上《民法通则》,突然老师又提高声音开始提问,所有同学都恐惧地盯着老师,惟恐被喊到,因为老师以提问来代替点名,所以是看着点名册提问的,所以大家都不必低下头。 “一班25号!”老师点道。 一片沉默(我正在发呆)…… “25号——张X!来了没有?”老师重复道,刷!整个教室的人都看着我。 “没来!”我大叫。全班人都愣了!不过很快又开始佩服我的勇气了。 “怎么没来的?”老师又问。 “他病了!”我无奈,只得撒谎,全班一阵哄堂大笑。 “你是他宿舍的吗?”对于莫名其妙的大笑,老师也被搞糊涂了。 “是的。”面对老师的盘问,我脸都绿了。 “太不象话了,回去告诉他,让他下午到办公室来找我!”全班同学又是一场大笑。 “啊?!好。”我头皮都开始发麻了,下午找谁替我去挨骂呢?就李X吧,唉,又得请那小子吃一顿了。 我正在为逃过一个问题而庆幸,老师又补充道:“那这个问题你替他回答吧?” “啊!?”我极不情愿地站起来,郁闷之情可想而知,教室里已经有人笑痛肚子了。 “老师,能不能重复一下您问的问题?” “啊!这个问题我已经重复了三遍了,你怎么上课的?” “不好意思,我没听清!”我额头上已经有汗珠了。 “那好我再重复一遍……” “我,报告老师,这个问题我不会回答。”我想反正是一死,何必死得那么窝囊呢,于是理直气壮起来。 “那好,下午2:00和张X一起到我办公室来!”所有同学都笑到喷血。 KK离开已经是十有八九的事了,大家也应该做好这个心里准备,我们会永远怀念KK的,K的贡献无庸置疑,THANK YOU FOR YOUR DID ,KEVIN! 随着这个笑话希望大家能忘记K离开的痛楚,转眼而望,后街需要新成员,这个即将加入的成员不是代替K的,KK的辉煌无法代替而是给逐渐老迈,走向下坡的BACKSTREET筑入新的活力,在这个新组合辈出的时代后街需要活力,他一定与K的唱风不同,也一定比26的NN年轻,希望他能帮助后街重树辉煌,我们期待着(个人见解,说的不好请原谅)另外我也是一个后街迷,以前偶尔发一次贴,经常受攻击,所以我会^^^^^
1 下一页