第八周实践项目3 顺序串一些算法操作
生活随笔
收集整理的這篇文章主要介紹了
第八周实践项目3 顺序串一些算法操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sqString.h
#define MaxSize 100 //最多的字符個數 typedef struct { char data[MaxSize]; //定義可容納MaxSize個字符的空間int length; //標記當前實際串長 } SqString; void StrAssign(SqString &s,char cstr[]); //字符串常量cstr賦給串s SqString DelStr(SqString s,int i,int j) ; //串刪去 void DispStr(SqString s); //輸出串 sqString.cpp #include <stdio.h> #include <malloc.h> #include "SqString.h" void StrAssign(SqString &s,char cstr[]) //s為引用型參數 { int i;for (i=0;cstr[i]!='\0';i++)s.data[i]=cstr[i];s.length=i; } SqString DelStr(SqString s,int i,int j) { int k;SqString str;str.length=0;if (i<=0 || i>s.length || i+j>s.length+1) //參數不正確時返回空串return str;for (k=0;k<i-1;k++) //將s.data[0..i-2]復制到strstr.data[k]=s.data[k];for (k=i+j-1;k<s.length;k++) //將s.data[i+j-1..s.length-1]復制到strstr.data[k-j]=s.data[k];str.length=s.length-j;return str; } void DispStr(SqString s) { int i;if (s.length>0){ for (i=0;i<s.length;i++)printf("%c",s.data[i]);printf("\n");} } main.cpp #include <stdio.h> #include "sqString.h" void Trans(SqString &s, char c1, char c2) {int i;for (i=0; i<s.length; i++)if (s.data[i]==c1)s.data[i]=c2; } void Invert(SqString &s) {int i;char temp;for (i=0; i<s.length/2; i++){temp = s.data[i];s.data[i]=s.data[s.length-i-1];s.data[s.length-i-1] = temp;} } void DellChar(SqString &s, char c) {int k=0, i=0; //k記錄值等于c的字符個數while(i<s.length){if(s.data[i]==c)k++;elses.data[i-k]=s.data[i];i++;}s.length -= k; } SqString CommChar(SqString s1,SqString s2) {SqString s3;int i,j,k=0;for (i=0; i<s1.length; i++){for (j=0; j<s2.length; j++)if (s2.data[j]==s1.data[i])break;if (j<s2.length) //s1.data[i]是公共字符{s3.data[k]=s1.data[i];k++;}}s3.length=k;return s3; } int main() {SqString s;StrAssign(s, "messages");Trans(s, 'e', 'a');DispStr(s);StrAssign(s, "abcdefg");Invert(s);DispStr(s);StrAssign(s, "message");DellChar(s, 'e');DispStr(s);SqString s1, s2 ;StrAssign(s1, "message");StrAssign(s2, "agent");s = CommChar(s1, s2);DispStr(s);return 0; }總結
以上是生活随笔為你收集整理的第八周实践项目3 顺序串一些算法操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第八周项目实践2 建立连串算法库
- 下一篇: 第九周项目实践1 二叉树的链式存储及基本