這是關於字串的一系列基本操作
說明:程式中包含字串的初始化,字串的連線,字串的賦值,字串的逆置,字串的刪除以及插入操作
還有關於字串的匹配問題,本程式採用bf蠻力演算法來匹配字串,也可以使用kmp演算法,具體演算法並未在本 程式體現,在重要的位置處都有詳細的**注釋
#include
#include
#define maxsize 30
typedef struct //建立乙個結構體
hstring;
//初始化乙個字元鍊錶
void init_hstring(hstring *s)
//計算字串長度
int lengthstring(char *ch)
//字串賦值操作
int assignhtring(hstring *s, char *ch,int len) //將字串ch的值賦值給結構體變數s
//字串的插入操作
int insertstring(hstring t, hstring s, int pos) //將字串t插入主串s的第pos前的位置,主串長度為len
//字串的連線操作
int strcat_string(hstring s,hstring t)
//字串匹配函式
int matching_string(hstrings, hstring *t)
else
if (j > t->length)
return i - t->length;
else return 0;
}//字串的刪除操作
int delete_string(hstring s, int pos, int len) //刪除字串s從第pos個位置開始連續len個字元
//字串的替換操作
int replace_hstring(hstring *s, hstring *t, hstring *v) //將主串s中與t字串相等的字串替換為字串v的內容
return 1;//操作成功!
}//求字串的逆串
int strreverse(hstring *s,hstring t)//將字串s中的元素逆置並且賦值給字串t
//輸出字串函式
print_string(hstring s)
//進入主函式main()
int main()
{hstring *s, *t, *v,*q,q,s,t,v;
s = &s, t = &t; v = &v; q = &q;
char ch1[maxsize], ch2[maxsize], ch3[maxsize];
int len1, len2, len3;
printf(「請輸入主串s的值:\n」);
scanf("%s",ch1);
printf(「請輸入模式串t的值:\n」);
scanf("%s", ch2);
printf(「請輸入字串v的值:\n」);
scanf("%s",ch3);
init_hstring(s);
init_hstring(t);
init_hstring(v);
len1 = lengthstring(ch1);
len2 = lengthstring(ch2);
len3 = lengthstring(ch3);
assignhtring(s, ch1, len1);
assignhtring(t, ch2, len2);
assignhtring(v, ch3, len3);
printf("得到主串s的長度:%d,模式串t的長度為:%d,替換串v的長度為:%d\n",s->length,t->length,v->length);
//逆置字串
strreverse(s, q);
printf("將主串s的字元逆置:\n");
print_string(q);
//將字串查詢並做替換
printf("將字串s中所有與t相等的字元替換為v的字元操作:\n");
replace_hstring(s, t, v);
print_string(s);
//連線主串s與字串t
printf("將字串t的字元連線在主串s之後:\n");
strcat_string(s, t);
print_string(s);
string字串的一系列操作
indexof 查詢字串中指定字元或字串首次出現的位置,返首索引值,如 str1.indexof 字 查詢 字 在str1中的索引值 位置 str1.indexof 字串 查詢 字串 的第乙個字元在str1中的索引值 位置 str1.indexof 字 start,end 從str1第start 1...
第一系列 字串
程式當中所有的雙引號字串,都是string類的物件。就算是沒有new,也照樣是。字串的特點 字串的內容用不可變。重點 正是因為字串不可改變,所以字串是可以共享使用的。字串效果上相當於是char 字元陣列,但是底層原理是byte 位元組陣列。字串的常量池 字串常量池,程式當中直接寫上雙引號字串,就在字...
關於mysql 一系列操作
這是在linux 的mysql的資料庫操作,備份資料庫 mysqldump u root p cxn usr local backupcxn.sql 引數說明 cxn 代表著我要備份的資料庫名稱,usr local backupcxn.sql代表著備份到usr local下,輩分的名稱叫做backu...