데이터 구조의 길이 문자열 의 입력, 비교, 문자 일치
1904 단어 데이터 구조
길이 문자열
데이터 구 조 는\# define maxsize 256 typedef char SString [maxsize + 1] 로 정의 합 니 다.
s [0] 문자열 의 길 이 를 저장 합 니 다.
#include
#include
#include
#include
#include
#include
using namespace std;
#define OK 1
#define ERROR 0
typedef int status;
#define maxsize 256
typedef char SString[maxsize+1];
/*
s[0]
*/
int strLength(SString s)//
{
return s[0];
}
int strCompare(SString s,SString t)// 0, ascill ,
{// , ,
int i,j;
for(i=1; i<=s[0]&&i<=t[0]; i++)
{
if(s[i]!=t[i])return s[i]-t[i];
}
return s[0]-t[0];
}
int next[100];
int index(SString s,SString t,int pos)//
{
int i,j;
i=pos;
if(pos<1||pos>s[0])return ERROR;
j=1;
while(i<=s[0]&&j<=t[0])
{
if(s[i]==t[j])
{
i++;
j++;
}
else {
i=i-j+2;//(i-j+1)+1,i-j+1 , , (i-j+1)+1
j=1;
}
}
if(j>t[0])return i-t[0];
else return 0;
}
int index_kmp(SString s,SString t,int pos)//kmp
{
int i,j,k;
i=pos;
if(pos<1||pos>s[0])return ERROR;// 1
j=1;
while(j<=t[0]&&i<=s[0])
{
if(j==0||t[j]==s[i])
{
j++;
i++;
}
else j=next[j];
}
if(j>t[0])return i-t[0];
else return 0;
}
int get_next(SString t)
{
int i,j;
i=1;
j=0;
next[1]=0;
while(i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.