亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發(fā)設計 > 正文

(10)串

2019-11-11 05:10:41
字體:
來源:轉載
供稿:網(wǎng)友

串是字符串的簡稱。它是一種在數(shù)據(jù)元素的組成上具有一定約束條件的線性表,即要求組成線性表的所有數(shù)據(jù)元素都是字符,所以,人們經(jīng)常這樣定義串:串是一個有窮字符序列。如: abcdef

串的長度為6

串中沒有任何字符,其串的長度為0,通常稱為空串。由空格字符組成的串,一班稱為空格串。串中任意連續(xù)的字符組成的子序列稱為該串的子串。包含子串的串又稱為該子串的主串。子串在主串中第一次出現(xiàn)的第一個字符的位置稱為子串在主串中的位置。兩個串的長度相等,并且各個對應的字符都相同,稱兩個串相等。串的存儲方式也分兩種:串的順序存儲結構和串的鏈式存儲結構

我寫的是一個堆分配存儲的串,代碼:

#include<iostream>#include<string>#include<malloc.h>using namespace std;//串的堆存儲方式typedef struct {	char *str;	int length;}HString;void init(HString  *s) {	s->length = 0;	s->str = NULL;}//串初始化void HStringInit(HString *s) {	char c;	int length;	cout << "請輸入串的長度:" << endl;	cin >> length;	s->length = length;	s->str = (char*)malloc((length+1)*sizeof(char));	for (int i = 0; i < s->length; i++) {		cin >> c;		s->str[i] = c;	}	cout << "初始化成功!" << endl;}//串賦值void HStringAssign(HString *s, HString *t) {				if (s->str) free(s->str);	int len = t->length;	s->length = len;	if (!len) {		s->str = (char*)malloc(sizeof(char));		s->str[0] = '/0';	}	else {		s->str = (char*)malloc(sizeof(char));		for (int i = 0; i < t->length; i++) {			s->str[i] = t->str[i];		}	}	cout << "賦值成功!" << endl;}//輸出串內(nèi)容void PRint(HString *s) {								if (s->length == 0 && s->str == NULL) {		cout << "串的內(nèi)容為空!" << endl;	}	else {		cout << "串的內(nèi)容為:	";		for (int i = 0; i < s->length; i++) {			cout << s->str[i];		}		cout << endl;	}}//求串長void HStringLength(HString *s ) {						cout << "串的長度為:		" << s->length << endl;}//判串相等void HStringCompar(HString *s,HString *t) {					int flag = 0;	if (s->length != t->length) {		cout << "不相等!" << endl;	}	else {		if (s->length == 0) {			cout << "相等!" << endl;		}		else {			for (int i = 0; i < s->length&&i < t->length; i++) {				if (s->str[i] != t->str[i]) {					cout << "不相等!" << endl;					flag = 1;					break;				}			}			if (flag == 0) {				cout << "相等!" << endl;			}		}	}}//串連接void HStringConCat(HString *s,HString *t) {					HString s1;	init(&s1);	int i = 0;	HStringAssign(&s1, s);	s->length += t->length;	free(s->str);	s->str = (char*)malloc((s->length+1)*sizeof(char));	for (; i < s1.length; i++) {		s->str[i] = s1.str[i];	}	for (; i < s->length;i++) {		s->str[i] = t->str[i - s1.length];	}	free(s1.str);	free(t->str);	t->str = NULL;	t->length = 0;	cout << "連接完成!" << endl;}//求子串void HStringSub(HString *s,int start,int end) {				cout << "子串為:";	for (int i = start - 1; i < end; i++) {		cout << s->str[i];	}	cout << endl;}//子串定位void HStringIndex(HString *s,HString *t) {					int i = 0,j = 0;	while (i < s->length &&j < t->length) {		if (s->str[i] == t->str[j]) {			i++; 			j++;		}		else {			i = i - j + 1;			j = 0;		}	 }	if (j == t->length) {		cout << "子串的位置為:" << i-t->length + 1 << endl;	}	else {		cout << "沒有該子串!" << endl;	}}//串置換void HStringReplace(HString *s,HString *t) {			HString s1;	init(&s1);	HStringAssign(&s1, s);	HStringAssign(s, t);	HStringAssign(t, &s1);	free(s1.str);	s1.length = 0;	s1.str = NULL;	cout << "置換成功!" << endl;}//插入子串void HStringInsert(HString *s,int start,HString *t) {		HString s1;	init(&s1);	int i = 0,j;	HStringAssign(&s1, s);	s->length += t->length;	free(s->str);	s->str = (char*)malloc((s->length + 1) * sizeof(char));	for (; i < start-1; i++) {		s->str[i] = s1.str[i];	}	j = i;	for (int k = 0; k < t->length; k++, i++) {		s->str[i] = t->str[k];	}	for (; i < s->length; i++, j++) {		s->str[i] = s1.str[j];	}	cout << "插入成功!" << endl;}//刪除子串void HStringDelet(HString *s,int start,int length) {		int i = start,flag,k=length;	char c;	while (length != 0) {		s->str[i - 1] = 0;		length--;		i++;	}	for (int m = 0; m < s->length;m++) {		if (s->str[m] != 0 && s->str[m - 1] == 0) {			flag = m;			while (flag) {				if (s->str[flag - 1] != 0) {					break;				}				c = s->str[flag - 1];				s->str[flag - 1] = s->str[flag];				s->str[flag] = c;				flag--;			}		}	}	s->length -=k;	cout << "刪除成功!" << endl;}void message() {	cout << "************************************************************" << endl;	cout << "*	1  	輸出串          	2	串賦值	   *" << endl;	cout << "*	3	判串相等		4	求串長	   *" << endl;	cout << "*	5	串連接			6	求子串	   *" << endl;	cout << "*	7	子串定位		8	串置換	   *" << endl;	cout << "*	9	插入子串		10	刪除子串   *" << endl;	cout << "*	11	清屏			12	退出	   *" << endl;	cout << "************************************************************" << endl;}void main() {	int temp = 0,length;	HString S1, S2;	message();	cout << "對串S1進行初始化:" << endl;	HStringInit(&S1);	cout << "對串S2進行初始化:" << endl;	HStringInit(&S2);	int i = 0;	while (1) {				cin >> i;		switch (i) {		case 1:cout << "請輸入你要輸出的串    1:  S1,    2:   S2" << endl;										cin >> temp;					switch (temp) {							case 1:print(&S1); break;							case 2:print(&S2); break;							default:cout << "輸入錯誤!" << endl; break;					}				break;		case 2:	cout << "將S2賦值給S1" << endl;					HStringAssign(&S1, &S2);				break;		case 3:cout << "判斷S1和S2是否相等?" << endl;					HStringCompar(&S1, &S2);				break;		case 4:cout << "請輸入你要求的串    1:  S1,    2:   S2" << endl;					cin >> temp;					switch (temp) {							case 1:HStringLength(&S1); break;							case 2:HStringLength(&S2); break;							default:cout << "輸入錯誤!" << endl; break;					}				break;		case 5:cout << "將串S2連接到S1上!" << endl;					HStringConCat(&S1, &S2);				break;		case 6:cout << "求S1的子串:" << endl;				cout << "請輸入開始位置和長度:" << endl;				cin >> temp >> length;				if (temp > S1.length) {					cout << "輸出位置錯誤!" << endl;					break;				}				else {					if ((length - temp) > S1.length) {						cout << "子串長度超出!" << endl;					}					else {						HStringSub(&S1, temp, length);					}				}				break;		case 7:cout << "子串S2在S1中的位置" << endl;			HStringIndex(&S1,&S2);			break;		case 8:cout << "將S1和S2置換!" << endl;				HStringReplace(&S1,&S2);			break;		case 9:cout << "將S2插入到S1中" << endl;				cout << "請輸入插入位置:" << endl;				cin >> temp;				if (temp >= S1.length) {					cout << "插入位置錯誤!" << endl;					break;				}				else {					HStringInsert(&S1,temp,&S2);				}			break;		case 10:cout << "刪除S1的子串:" << endl;				cout << "請輸入開始位置和長度:" << endl;				cin >> temp >> length;				if (temp > S1.length) {					cout << "輸出位置錯誤!" << endl;					break;				}				else {					if ((length + temp) > S1.length+1) {					cout << "子串長度超出!" << endl;					}					else {						HStringDelet(&S1, temp, length);					}				}break;		case 11:system("cls"); message(); break;		case 12:exit(0); break;		default:cout << "輸入錯誤!請重新輸入:" << endl; break;		}	}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久精品www人人爽人人| 美女极度色诱视频www免费观看| 日本三级中国三级99人妇网站| 影音先锋欧美精品| 欧美亚日韩国产aⅴ精品中极品| 国产欧美一区二区三区在线观看视频| 牛人国产偷窥女洗浴在线观看| 夜夜嗨yeyeh| 久久这里只有精品首页| 5g影院天天爽成人免费下载| 在线观看不卡av| 色婷婷视频在线观看| 亚洲天堂av在线免费| 国产精品天天干| 深夜福利网站在线观看| 成年人黄国产| 日韩一区二区三区在线播放| 啊v视频在线一区二区三区| 亚洲一区二区三区蜜桃| 成人免费高清完整版在线观看| 欧美二区三区的天堂| 美乳美女在线观看香蕉| 日本成人在线视频网址| 久久综合婷婷综合| 蜜臀一区二区三区精品免费视频| 国产精品白浆流出视频| 加勒比久久综合| 亚洲精品suv精品一区二区| 美女日批视频在线观看| 原谅我中文字幕| 影音先锋国产在线| 91久久精品| 色伦专区97中文字幕| 色女人综合av| 国产成人精品亚洲| 国产一区二区精品免费| 欧美精彩一区二区三区| 亚洲男人电影天堂| 一区二区视频免费在线观看| 亚洲黄色在线看| 亚洲aaa级| 国产另类自拍| 欧美色图片区| 日韩免费视频网站| 免费观看在线黄色网| 日韩欧美国产网站| 亚洲一区二区视频在线| 视频在线观看成人| 国产高潮国产高潮久久久91| 欧美色综合天天久久综合精品| 欧美精品成人| 亚洲精品在线网站| 色香蕉成人二区免费| 亚洲最新无码中文字幕久久| 欧美激情一区二区| 国产91aaa| 国产精品第6页| 欧洲一级精品| 亚洲老妇激情| 国产视频xxxx| 麻豆美女网站| 韩国一区二区三区美女美女秀| 久久九九热免费视频| 欧洲美女少妇精品| 久久久欧美一区二区| xxxx国产视频| 亚洲国产激情一区二区三区| 国产精品videossex国产高清| 国精品日韩欧美一区二区三区| 欧美一级一级性生活免费录像| 成人午夜电影在线播放| 久久亚洲视频| 小说区图片区图片区另类灬| 日本一区二区三区免费观看| 国产视频亚洲视频| 天天干天天操天天爱| 亚洲国产精品成人综合色在线婷婷| 97国产精东麻豆人妻电影| 日本欧美一区二区在线观看| 日本v片在线免费观看| 91精品国产丝袜白色高跟鞋| 午夜欧美性电影| 伊人天天久久大香线蕉av色| 日韩aaa久久蜜桃av| 国产一区一一区高清不卡| 久久亚洲av午夜福利精品一区| 快播亚洲色图| 香港三级韩国三级日本三级| 亚洲女厕所小便bbb| 欧美做受高潮中文字幕| 成人黄色免费片| 精品一区二区久久久久久久网站| 中文字幕一区日韩电影| 欧美日韩极品在线观看一区| 日韩精品成人一区| 伊人青青综合网| 电影在线高清| 亚洲一区二区在线| 中文字幕日韩精品无码内射| 久久久久国产精品无码免费看| 波多野结衣综合网| 精品一区二区日本| 欧美日韩精品免费观看视欧美高清免费大片| 欧美在线视频观看免费网站| 国产剧情久久久| 欧美色播在线播放| 91视频 -- 69xx| 国产精品久久久久久久无码| 91在线最新| 在线免费播放av| 三级无遮挡在线观看| 国产一级精品毛片| 欧美成人精品欧美一级乱| 午夜精品福利视频网站| 97视频在线观看视频免费视频| 日韩av手机在线观看| 视频精品在线观看| 美女视频黄免费的亚洲男人天堂| 国产日韩欧美激情| 国产91精品久久久久久| 51ⅴ精品国产91久久久久久| 国产一卡二卡在线播放| 亚洲经典一区二区三区| 亚洲丝袜一区| 日韩欧美国产大片| 岛国一区二区三区高清视频| 精品亚洲国内自在自线福利| 日韩电影大全网站| 青青操视频在线观看| 希岛爱理中文字幕| 国产成+人+综合+亚洲欧美| 午夜精品电影| yy111111少妇嫩草影院| 黄色动漫网站入口| 国产精品久久久一本精品| 国产成人综合自拍| 蜜桃在线一区| 综合久久久久久| 国产精品人成在线观看免费| 亚洲国产剧情在线观看| 91免费在线播放视频| 国产精品久久久久999| 午夜性色福利视频| 女人被爽到呻吟gif动态图下载| 在线观看免费高清完整| 网曝91综合精品门事件在线| 亚洲在线偷拍自拍| 亚洲女优在线| 成人小视频在线看| 国产精品午夜一区二区欲梦| japanese日本护士撒尿| xvideos亚洲| 狠狠噜天天噜日日噜| 久久91精品国产91久久跳| 亚洲成av人片观看| 爱爱永久免费视频| 一区二区不卡在线观看| 亚洲男人第一av网站| 久久一区二区三区四区| 三级黄色网址| 大肉大捧一进一出好爽动态图| 成人全视频在线观看在线播放高清| 久久久久久电影| 天堂网av2018| 久热精品在线观看| 欧美系列日韩一区| 韩国三级大全久久网站| 欧美色综合久久| 嫩模私拍啪啪| 高清电影一区| 亚洲三级在线视频| 一本色道久久综合亚洲aⅴ蜜桃| 一级国产黄色片| 亚洲精品一区二区三区蜜桃下载| 中文一区在线观看| 免费看a网站| 狠狠鲁狠狠操| 一本岛在线视频| 成人性生交大片免费看中文| 国模私拍视频在线| eeuss在线观看| www.成人在线观看| 国产精品国产三级国产专播品爱网| 在线中文字幕日韩| 国产精品盗摄一区二区三区| 先锋a资源在线看亚洲| 国产精品久久久久久久电影| 黄色网页免费看| 中文一区一区三区高中清不卡免费| 亚洲视频欧美视频| 这里只有精品国产| 综合在线一区| 国产一区二区三区在线观看视频| 噜噜爱69成人精品| 国产婷婷97碰碰久久人人蜜臀| 欧美aaa在线| 国产乱对白刺激视频不卡| 男的插女的下面视频| 国产秒拍福利视频露脸| 97久久伊人激情网| 亚洲欧美日韩国产中文| 大黑人交xxx极品hd| 亚洲天堂999| 视频免费裸体网站| 国产日韩在线观看视频| 国产麻豆免费视频| 国产女人av| 亚洲欧洲日韩女同| 能看毛片的网站| 欧美日韩一区精品| 国产精品人人做人人爽人人添| 久久精品成人一区二区三区蜜臀| 国产香蕉免费精品视频| 裸体免费网站| 美女被c出白浆| 热99re久久精品这里都是免费| 欧美1—12sexvideos| 精品国产一区二区三区香蕉沈先生| 91视频免费看片| 青青青视频在线| 日本一区二区久久精品| 日韩一区二区三区高清免费看看| 亚洲国产精品va在线看黑人| 成人www视频在线观看| 影音先锋人妻啪啪av资源网站| 久久亚洲天堂| 久久影视电视剧免费网站| 视频在线一区二区三区| 国产精品视频999| 奇米网人体黄视频| 福利视频理论电影| 国产人成网在线播放va免费| 国产高清无密码一区二区三区| 波多野结衣av一区二区全免费观看| 色综合久久天天| 国产一级成人av| 精品一区二区三区视频在线播放| 中文字幕久热精品在线视频| 91成人天堂久久成人| 国产一区二区精品在线观看| 欧美乱妇高清无乱码| 天天影视涩香欲综合网| 免费看电影在线| 中文字幕精品一区日韩| 91精品国产高清久久久久久91| 天堂av2024| 精品伊人久久久久7777人| 国产成人精品免费在线| 国产一卡二卡3卡4卡四卡在线| 欧美精品制服第一页| 国产日本视频| 一区久久精品| 日本伊人精品一区二区三区介绍| 粉嫩av一区二区| 欧洲中文字幕精品| 国产高清不卡无码视频| 鲁鲁在线中文| 可以在线看黄的网站| 精品午夜一区二区三区| 精品1区2区3区4区| 又色又爽又黄18网站| 久久国产精品一区二区三区| 国内精品久久久久久久影视麻豆| 在线观看国产福利视频| 国产精品高清一区二区三区| 日韩在线观看中文字幕| 亚洲国产日韩一区无码精品久久久| 欧美黑人视频一区| 国产在线拍偷自揄拍精品| 日韩欧美综合在线| 久久久久黄久久免费漫画| 久久久久福利视频| 一线天粉嫩在线播放| 无码国模国产在线观看| 中文字幕在线播放不卡一区| 国产又爽又黄ai换脸| 国产91精品久久久久久久| 亚洲人成电影网站色www| 国产精品毛片大码女人| 国产 福利 在线| 国产剧情av在线播放| 蜜桃狠狠狠狠狠狠狠狠狠| 中文在线最新版天堂| 国产一线二线在线观看| 992tv在线观看免费进| 久久综合桃花网| 伊人狠狠色j香婷婷综合| www.xxxx日本| 香蕉亚洲视频| 99精品视频免费| 亚洲天堂最新地址| 精品国产免费人成电影在线观...| 91在线直播亚洲| 国产毛片毛片毛片| 美女视频免费观看网站在线| 欧美熟妇一区二区| 欧美中文字幕在线观看视频| 日韩视频在线播放| 欧美1234区| 欧美日韩亚洲不卡| 色综合视频在线| 久久99这里只有精品| 欧洲av一区| 亚洲欧美一二三| 久久一区二区三区av| 国产91国语对白在线| 亚洲第一福利网站| 最新热久久免费视频| 激情黄产视频在线免费观看| 欧美另类中文字幕| 999久久久久久久久6666| 亚洲图片123| 影音先锋国产资源站| 亚洲最大的成人网| 欧美三级三级三级| 精品国产91久久久久久老师| 日韩欧美亚洲一区| 黑人精品一区二区三区| 国内成人精品2018免费看| 九七影院97影院理论片久久| 亚洲欧美中文字幕在线一区| 韩国久久久久久| 自拍偷拍免费精品| 国产尤物av一区二区三区| 国产精品高清免费在线观看| 日日噜噜噜夜夜爽爽狠狠视频| aaa免费看大片| 亚洲在线视频免费观看|