国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法

2020-05-23 13:38:40
字體:
供稿:網(wǎng)友

數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法

實(shí)現(xiàn)代碼:

#include<stdio.h>#include<string.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 40 //最大字符串typedef int Status;typedef char SString[MAXSIZE+1];//此處聲明的SString[maxsize+1]雖是數(shù)組,在SubString中作為指針使用,//因位是指針,SString[0]存放實(shí)際數(shù)組的地址,使用時不用加*或&,直接傳入數(shù)組的值/*******************************聲明部分****************************************/Status StrAssign(SString T,char *chars);//生成一個其值等于chars的串T 第一個元素為字符串長度int StrLength(SString S);//操作結(jié)果:返回S的元素個數(shù),成為串的長度int StrCompare(SString S,SString T);//操作結(jié)果:若S>T,則返回值>0;若S = T,則返回值 =0;若S<T,則返回值<0Status SubString(SString Sub, SString T,int pos,int len);//用Sub返回串T的第pos個字符起長度為len的子串int Index(SString S,SString T,int pos);//若主串S中存在和串T值相同的子串,則返回它在主串中第pos個字符之后第一次出現(xiàn)的位置;否則函數(shù)值為0/*******************************函數(shù)部分****************************************/Status StrAssign(SString T,char *chars){  int i,ct;  for(i = 0;i <= MAXSIZE; i++)    T[i] = '/0';  //全部清零  T[0] = strlen(chars);  for(ct = 1;*chars != '/0';ct++,chars++){    T[ct] = *chars;  }  return OK;}int StrLength(SString S){  return S[0];}int StrCompare(SString S,SString T){  int cnt = 1;  while(cnt <= S[0] && cnt <= T[0]){  //非空前提下    if(S[cnt] == T[cnt]){ //相等      cnt++;    }    else{  //不相等      return S[cnt] - T[cnt];    }  }  return S[0]-T[0];}Status SubString(SString Sub, SString T,int pos,int len){  if(pos<1 || pos>T[0] || len<0 || len>T[0]-pos+1)    return ERROR;  int ct,cnt;  for(ct = 1,cnt = pos;cnt <= len+pos;ct++,cnt++){    Sub[ct]=T[cnt];  }  Sub[0] = len+1;  return OK;}int Index(SString S,SString T,int pos){  SString Sub;  int i = pos;  if(pos > 0){    int n = StrLength(S),m = StrLength(T);    while( i<= n-m+1){      SubString(Sub,S,i,m-1);      if(StrCompare(Sub,T)==0)        return i;      else        i++;      }  }//if  printf("不存在/n");  return 0; //S中不存在與T相等的子串}//Index/*******************************主函數(shù)部分**************************************/int main(){  char *chars1 = "abcdefhg";  char *chars2 = "defhg";  SString S,T;  StrAssign(S,chars1);  StrAssign(T,chars2);  int ANSWER = Index(S,T,1);  printf("找到子串T在S中的位置 = %d/n",ANSWER);  return 0;}

實(shí)現(xiàn)效果:

定位函數(shù)Index,定位函數(shù),C語言,數(shù)據(jù)結(jié)構(gòu),index函數(shù)

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 津市市| 平原县| 绥宁县| 东光县| 神木县| 内丘县| 府谷县| 泰兴市| 北流市| 辽中县| 杂多县| 堆龙德庆县| 金寨县| 会理县| 英山县| 炎陵县| 深州市| 张北县| 桐城市| 抚州市| 阿拉尔市| 黔西县| 夏津县| 正宁县| 涿州市| 长阳| 舟曲县| 天气| 常宁市| 界首市| 民乐县| 涞水县| 合山市| 文山县| 延长县| 浦县| 澄江县| 荥经县| 盐源县| 虎林市| 麟游县|