數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)的答案_第1頁
數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)的答案_第2頁
數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)的答案_第3頁
數(shù)據(jù)的結(jié)構(gòu)實(shí)驗(yàn)的答案_第4頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)用標(biāo)準(zhǔn)文案數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)2013/2014學(xué)年第2學(xué)期姓名: _學(xué)號(hào): _班級(jí): _指導(dǎo)教師: _濰坊學(xué)院計(jì)算機(jī)工程學(xué)院2014精彩文檔實(shí)用標(biāo)準(zhǔn)文案預(yù)備實(shí)驗(yàn)C語言的函數(shù)數(shù)組指針結(jié)構(gòu)體知識(shí)一、實(shí)驗(yàn)?zāi)康?、復(fù)習(xí) C語言中函數(shù)、數(shù)組、指針和結(jié)構(gòu)體的概念。2、熟悉利用C 語言進(jìn)行程序設(shè)計(jì)的一般方法。二、實(shí)驗(yàn)內(nèi)容和要求1、調(diào)試程序:輸出100 以內(nèi)所有的素?cái)?shù)(用函數(shù)實(shí)現(xiàn))。#include<stdio.h>/* 判斷一個(gè)數(shù)是否為素?cái)?shù)*/int isprime(int n)for(int m=2;m*m<=n;m+)if(n%m= =0) return 0;return 1;/* 輸

2、出 100 以內(nèi)所有素?cái)?shù)*/int main()int i;for(i=2;i<100;i+)if(isprime(i)= =1) printf(“ %4d”,i);return 0;運(yùn)行結(jié)果:2、 調(diào)試程序:對(duì)一維數(shù)組中的元素進(jìn)行逆序排列。#include<stdio.h>#define N 10int main()int aN=0,1,2,3,4,5,6,7,8,9,i,temp;printf(“ the original Array is:n” );for(i=0;i<N;i+)printf(“%4d” ,ai);for(i=0;i<N/2;i+)/* 交換

3、數(shù)組元素使之逆序*/temp=ai;精彩文檔實(shí)用標(biāo)準(zhǔn)文案ai=aN-i-1;aN-i-1=temp;printf(“ nthe changed Array is:n” );for(i=0;i<N;i+)printf(“%4d” ,ai);return 0;運(yùn)行結(jié)果:3、 調(diào)試程序:在二維數(shù)組中,若某一位置上的元素在該行中最大,而在該列中最小,則該元素即為該二維數(shù)組的一個(gè)鞍點(diǎn)。 要求從鍵盤上輸入一個(gè)二維數(shù)組, 當(dāng)鞍點(diǎn)存在時(shí), 把鞍點(diǎn)找出來。#include<stdio.h>#define M 3#define N 4int main()int aMN,i,j,k;printf(

4、“請(qǐng)輸入二維數(shù)組的數(shù)據(jù):n ” );for(i=0;i<M;i+)for(j=0;j<N;j+)scanf( “ %d” ,&aij);for(i=0;i<M;i+)/* 輸出矩陣 */for(j=0;j<N;j+)printf(“ %4d”,aij);printf(“n ” );for(i=0;i<M;i+)k=0;for(j=1;j<N;j+)/* 找出第 i 行的最大值 */if(aij>aik)k=j;for(j=0;j<M;j+)/* 判斷第 i 行的最大值是否為該列的最小值*/if(ajk<aik)break;if(j=

5、M)/* 在第 i 行找到鞍點(diǎn) */printf(“ %d,%d,%dn”),aik,i,k);return 0;精彩文檔實(shí)用標(biāo)準(zhǔn)文案運(yùn)行結(jié)果:4、 調(diào)試程序:利用指針輸出二維數(shù)組的元素。#include<stdio.h>int main()int a34=1,3,5,7,9,11,13,15,17,19,21,23;int *p;for(p=a0;p<a0+12;p+)if(p-a0)%4= =0) printf(“ n ” );printf(%4d” ,*p);return 0;運(yùn)行結(jié)果:5、 調(diào)試程序:輸入10 個(gè)學(xué)生的成績(jī),每個(gè)學(xué)生成績(jī)包括學(xué)號(hào)、姓名和三門課的成績(jī)。要

6、求打印出三門課的平均成績(jī)及成績(jī)最高者的姓名和成績(jī)。#include<stdio.h>#define N 10;struct studentchar num6;/* 學(xué)號(hào) */char name8;/* 姓名 */int score3;/* 成績(jī) */float avr;/* 平均成績(jī) */stuN;int main()int i,j,max,maxi,sum;精彩文檔實(shí)用標(biāo)準(zhǔn)文案float average;for(i=0;i<N;i+)/* 輸入 10 個(gè)學(xué)生的成績(jī)信息*/printf(“n 請(qǐng)輸入第 %d學(xué)生的成績(jī): n ” ,i+1);printf(“學(xué)號(hào):” );sca

7、nf( “ %s” ,stui.num);printf(“姓名” );scanf( “ %s” ,);for(j=0;j<3;j+)printf(“成績(jī) %d” ,j+1);scanf( “ %d” ,&stui.scorej);average=0;max=0;maxi=0;for(i=0;i<N;i+)/* 計(jì)算平均成績(jī),找出成績(jī)最高的學(xué)生*/sum=0;for(j=0;j<3;j+)sum+=stui.scorej;stui.avr=sum/3.0;average+=stui.avr;if(sum>max)max=sum;maxi=i;av

8、erage/=10;printf(“ 學(xué)號(hào)姓名成績(jī) 1成績(jī) 2成績(jī) 3平均分 n);for(i=0;i<10;i+)printf(“%8s%10s”,stui.num,);for(j=0;j<3;j+)printf(“ %7d”,stui.scorej);printf(“%6.2fn ”,stui.avr);printf(“平均成績(jī)是:%5.2fn ” ,average);printf( “最好成績(jī)的學(xué)生是: %s,總分是 %d” ,,max); return 0;運(yùn)行結(jié)果精彩文檔實(shí)用標(biāo)準(zhǔn)文案三、實(shí)驗(yàn)小結(jié)對(duì) C 語言中函數(shù)、數(shù)組、指針和結(jié)構(gòu)

9、體的概念,有了進(jìn)一步的加深。并且可以利用C 語言進(jìn)行初步程序設(shè)計(jì)。四、教師評(píng)語精彩文檔實(shí)用標(biāo)準(zhǔn)文案實(shí)驗(yàn)一順序表與鏈表一、實(shí)驗(yàn)?zāi)康?、掌握線性表中元素的前驅(qū)、后續(xù)的概念。2、掌握順序表與鏈表的建立、插入元素、刪除表中某元素的算法。3、對(duì)線性表相應(yīng)算法的時(shí)間復(fù)雜度進(jìn)行分析。4、理解順序表、鏈表數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)(優(yōu)缺點(diǎn))。二、實(shí)驗(yàn)內(nèi)容和要求1、閱讀下面程序,在橫線處填寫函數(shù)的基本功能。并運(yùn)行程序,寫出結(jié)果。#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define INIT_SIZE 5/*初始分配

10、的順序表長(zhǎng)度*/#define INCREM 5/*溢出時(shí),順序表長(zhǎng)度的增量*/typedef int ElemType; /*定義表元素的類型*/typedef struct SqlistElemType *slist;/*存儲(chǔ)空間的基地址*/int length;/*順序表的當(dāng)前長(zhǎng)度*/int listsize;/*當(dāng)前分配的存儲(chǔ)空間*/Sqlist;int InitList_sq(Sqlist *L); /*初始化順序表L,并將其長(zhǎng)度設(shè)為0*/intCreateList_sq(Sqlist*L,intn);/*構(gòu)造順序表的長(zhǎng)度為n*/int ListInsert_sq(Sqlist *L

11、,int i,ElemType e);/*在順序線性表L 中第 i 個(gè)元素之前插入新的元素e*/int PrintList_sq(Sqlist *L); /*輸出順序表的元素*/int ListDelete_sq(Sqlist *L,int i); /*刪除第 i 個(gè)元素 */int ListLocate(Sqlist *L,ElemType e); /*查找值為e 的元素 */int InitList_sq(Sqlist *L)L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType);if(!L->slist) return ER

12、ROR;L->length=0;L->listsize=INIT_SIZE;return OK;/*InitList*/int CreateList_sq(Sqlist *L,int n)精彩文檔實(shí)用標(biāo)準(zhǔn)文案ElemType e;int i;for(i=0;i<n;i+)printf("input data %d",i+1);scanf("%d",&e);if(!ListInsert_sq(L,i+1,e)return ERROR;return OK;/*CreateList*/* 輸出順序表中的元素*/int PrintLis

13、t_sq(Sqlist *L)int i;for(i=1;i<=L->length;i+)printf("%5d",L->slisti-1);return OK;/*PrintList*/int ListInsert_sq(Sqlist *L,int i,ElemType e)int k;if(i<1|i>L->length+1)return ERROR;if(L->length>=L->listsize)L->slist=(ElemType*)realloc(L->slist,(INIT_SIZE+INCR

14、EM)*sizeof(ElemType);if(!L->slist)return ERROR;L->listsize+=INCREM;for(k=L->length-1;k>=i-1;k-)L->slistk+1=k;L->slisti-1=e;L->length+;return OK;/*ListInsert*/* 在順序表中刪除第i 個(gè)元素 */int ListDelete_sq(Sqlist *L,int i)if(i<1)|(i>L->length) return ERROR;for(p=i-1;p<->lengt

15、h-1;p+)L->slistp=L->slistp+1;精彩文檔實(shí)用標(biāo)準(zhǔn)文案L->length-;return OK;/* 在順序表中查找指定值元素,返回其序號(hào)*/int ListLocate(Sqlist *L,ElemType e)int main()Sqlist sl;int n;printf("please input n:"); /* 輸入順序表的元素個(gè)數(shù) */ scanf("%d",&n);if(n>0)printf("n1-Create Sqlist:n");InitList_sq(&a

16、mp;sl);CreateList_sq(&sl,n);printf("n2-Print Sqlist:n");PrintList_sq(&sl);elseprintf("ERROR");return 0;算法分析與運(yùn)行結(jié)果please input n:51-Create Sqlist:input data 10input data 25input data 38input data 43input data 562-Print Sqlist:05836Press any key to continue精彩文檔實(shí)用標(biāo)準(zhǔn)文案2、為第 1 題

17、補(bǔ)充刪除和查找功能函數(shù),并在主函數(shù)中補(bǔ)充代碼驗(yàn)證算法的正確性。算法代碼:int ListDelete_sq(Sqlist *L,int i)int p;if(i<1)|(i>L->length) return ERROR;for(p=i-1;p<L->length-1;p+) L->slistp=L->slistp+1;L->length-;return OK;/* 在順序表中查找指定值元素,返回其序號(hào)*/int ListLocate(Sqlist *L,ElemType e)int i=0;while(i<=L->length)&a

18、mp;&(L->slisti!=e)i+;if(i<=L->length)return(i+1);elsereturn(-1);精彩文檔實(shí)用標(biāo)準(zhǔn)文案3、閱讀下面程序,在橫線處填寫函數(shù)的基本功能。并運(yùn)行程序,寫出結(jié)果。#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1typedef int ElemType; /*定義表元素的類型*/typedef struct LNode /*線性表的單鏈表存儲(chǔ)*/ElemType data;struct LNode *next;LNod

19、e,*LinkList;LinkList CreateList(int n);/構(gòu)造順序表的長(zhǎng)度*/void PrintList(LinkList L); /*輸出帶頭結(jié)點(diǎn)單鏈表的所有元素*/精彩文檔實(shí)用標(biāo)準(zhǔn)文案int GetElem(LinkList L,int i,ElemType *e); /*在順序線性表L 中 ,當(dāng)?shù)?i 個(gè)元素存在時(shí),將其賦值為e*/LinkList CreateList(int n)LNode *p,*q,*head;int i;head=(LinkList)malloc(sizeof(LNode);head->next=NULL;p=head;for(i=

20、0;i<n;i+)q=(LinkList)malloc(sizeof(LNode);printf("input data %i:",i+1);scanf("%d",&q->data);/*輸入元素值 */q->next=NULL;/*結(jié)點(diǎn)指針域置空*/p->next=q;/*新結(jié)點(diǎn)連在表末尾*/p=q;return head;/*CreateList*/void PrintList(LinkList L)LNode *p;p=L->next; /*p指向單鏈表的第1 個(gè)元素 */while(p!=NULL)print

21、f("%5d",p->data);p=p->next;/*PrintList*/int GetElem(LinkList L,int i,ElemType *e)LNode *p;int j=1;p=L->next;while(p&&j<i)p=p->next;j+;if(!p|j>i)return ERROR;*e=p->data;return OK;/*GetElem*/int main()int n,i;ElemType e;LinkList L=NULL;/*定義指向單鏈表的指針*/printf("

22、please input n:"); /*輸入單鏈表的元素個(gè)數(shù)*/精彩文檔實(shí)用標(biāo)準(zhǔn)文案scanf("%d",&n);if(n>0)printf("n1-Create LinkList:n");L=CreateList(n);printf("n2-Print LinkList:n");PrintList(L);printf("n3-GetElem from LinkList:n");printf("input i=");scanf("%d",&i

23、);if(GetElem(L,i,&e)printf("No%i is %d",i,e);elseprintf("not exists");elseprintf("ERROR");return 0;算法分析與運(yùn)行結(jié)果please input n:51-Create LinkList:input data 1:8input data 2:6input data 3:3input data 4:5input data 5:42-Print LinkList:863543-GetElem from LinkList:input i=

24、2No2 is 6Press any key to continue精彩文檔實(shí)用標(biāo)準(zhǔn)文案4、為第 3 題補(bǔ)充插入功能函數(shù)和刪除功能函數(shù)。并在主函數(shù)中補(bǔ)充代碼驗(yàn)證算法的正確性。算法代碼int ListInsert_sq(LNode *L,int i,ElemType e)int k;if(i<1|i>L->length+1)return ERROR;if(L->length>=L->listsize)L->data =(ElemType*)realloc(L->data,(INIT_SIZE+INCREM)*sizeof(ElemType);if(

25、!L->data)return ERROR;L->listsize+=INCREM;精彩文檔實(shí)用標(biāo)準(zhǔn)文案#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1typedef int ElemType; /*定義表元素的類型*/typedef struct LNode /*線性表的單鏈表存儲(chǔ)*/ElemType data;struct LNode *next;LNode,*LinkList;LinkList CreateList(int n);/*精彩文檔實(shí)用標(biāo)準(zhǔn)文案以下為選做實(shí)驗(yàn):5、循環(huán)

26、鏈表的應(yīng)用(約瑟夫回環(huán)問題)n 個(gè)數(shù)據(jù)元素構(gòu)成一個(gè)環(huán),從環(huán)中任意位置開始計(jì)數(shù),計(jì)到m將該元素從表中取出,重復(fù)上述過程,直至表中只剩下一個(gè)元素。提示:用一個(gè)無頭結(jié)點(diǎn)的循環(huán)單鏈表來實(shí)現(xiàn)n 個(gè)元素的存儲(chǔ)。算法代碼6、設(shè)一帶頭結(jié)點(diǎn)的單鏈表,設(shè)計(jì)算法將表中值相同的元素僅保留一個(gè)結(jié)點(diǎn)。提示:指針p 從鏈表的第一個(gè)元素開始,利用指針q 從指針 p 位置開始向后搜索整個(gè)鏈表,刪除與之值相同的元素;指針p 繼續(xù)指向下一個(gè)元素,開始下一輪的刪除,直至p null為至,既完成了對(duì)整個(gè)鏈表元素的刪除相同值。算法代碼三、實(shí)驗(yàn)小結(jié)具體的掌握線性表中元素的前驅(qū)、后續(xù)的概念。以及順序表與鏈表的建立、插入元素、刪除表中某元素的

27、算法。并學(xué)習(xí)了對(duì)線性表相應(yīng)算法的時(shí)間復(fù)雜度進(jìn)行分析。四、教師評(píng)語精彩文檔實(shí)用標(biāo)準(zhǔn)文案實(shí)驗(yàn)二棧和隊(duì)列一、實(shí)驗(yàn)?zāi)康?、掌握棧的結(jié)構(gòu)特性及其入棧,出棧操作;2、掌握隊(duì)列的結(jié)構(gòu)特性及其入隊(duì)、出隊(duì)的操作,掌握循環(huán)隊(duì)列的特點(diǎn)及其操作。二、實(shí)驗(yàn)內(nèi)容和要求1、閱讀下面程序,將函數(shù) Push 和函數(shù) Pop 補(bǔ)充完整。要求輸入元素序列 1 2 3 4 5 e ,運(yùn)行結(jié)果如下所示。#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define STACK_INT_SIZE 10 /* 存儲(chǔ)空間初始分配量 */ #d

28、efine STACKINCREMENT 5 /* 存儲(chǔ)空間分配增量 */typedef int ElemType; /*定義元素的類型*/typedef structElemType *base;ElemType *top;int stacksize;/*當(dāng)前已分配的存儲(chǔ)空間*/SqStack;int InitStack(SqStack *S);/*int push(SqStack *S,ElemType *e); /* int Pop(SqStack *S,ElemType *e); /*int CreateStack(SqStack *S); /* void PrintStack(SqS

29、tack *S); /*構(gòu)造空棧 */入棧 */出棧 */創(chuàng)建棧 */出棧并輸出棧中元素*/int InitStack(SqStack *S)S->base=(ElemType *)malloc(STACK_INT_SIZE *sizeof(ElemType);精彩文檔實(shí)用標(biāo)準(zhǔn)文案if(!S->base) return ERROR;S->top=S->base;S->stacksize=STACK_INT_SIZE;return OK;/*InitStack*/int Push(SqStack *S,ElemType e)/*Push*/int Pop(SqSta

30、ck *S,ElemType *e)/*Pop*/int CreateStack(SqStack *S)int e;if(InitStack(S)printf("Init Success!n");elseprintf("Init Fail!n");return ERROR;printf("input data:(Terminated by inputing a character)n");while(scanf("%d",&e)Push(S,e);return OK;/*CreateStack*/void

31、PrintStack(SqStack *S)ElemType e;while(Pop(S,&e)printf("%3d",e);/*Pop_and_Print*/int main()SqStack ss;printf("n1-createStackn");CreateStack(&ss);printf("n2-Pop&Printn");PrintStack(&ss);return 0;算法分析:輸入元素序列 1 2 3 4 5 ,為什么輸出序列為 5 4 3 2 1 ?體現(xiàn)了棧的什么特性?精彩文檔實(shí)用標(biāo)

32、準(zhǔn)文案2、在第 1 題的程序中,編寫一個(gè)十進(jìn)制轉(zhuǎn)換為二進(jìn)制的數(shù)制轉(zhuǎn)換算法函數(shù)(要求利用棧來實(shí)現(xiàn)),并驗(yàn)證其正確性。實(shí)現(xiàn)代碼void conveshen(SqStack *S) ElemType n,h; int m=0,k=0;InitStack(S);printf("Input elementn");scanf("%d",&n);while(n)m+;Push(S,n%2);n=n/2;while(k<m)k+;Pop(S,&h);printf("%d",h);int main()SqStack S;conve

33、shen(&S);printf("n");精彩文檔實(shí)用標(biāo)準(zhǔn)文案3、閱讀并運(yùn)行程序,并分析程序功能。#include<stdio.h>#include<malloc.h>#include<string.h>#define M 20#define elemtype chartypedef structelemtype stackM;int top;stacknode;void init(stacknode *st);void push(stacknode *st,elemtype x);void pop(stacknode *st);

34、void init(stacknode *st)st->top=0;精彩文檔實(shí)用標(biāo)準(zhǔn)文案void push(stacknode *st,elemtype x)if(st->top=M)printf("the stack is overflow!n");elsest->top=st->top+1;st->stackst->top=x;void pop(stacknode *st)st->top=st->top-1;int main()char sM;int i;printf("create a empty stack!

35、n");stacknode *sp;sp=malloc(sizeof(stacknode);init(sp);printf("input a expression:n");gets(s);for(i=0;i<strlen(s);i+)if(si='(')push(sp,si);if(si=')')pop(sp);if(sp->top=0)printf("'('match')'!n");elseprintf("'('not match')

36、'!n");return 0;輸入: 2+(c-d)*6-(f-7)*a)/6運(yùn)行結(jié)果:精彩文檔實(shí)用標(biāo)準(zhǔn)文案輸入: a-(c-d)*6-(s/3-x)/2運(yùn)行結(jié)果:程序的基本功能:以下為選做實(shí)驗(yàn):精彩文檔實(shí)用標(biāo)準(zhǔn)文案4、設(shè)計(jì)算法,將一個(gè)表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,并按照后綴表達(dá)式進(jìn)行計(jì)算,得出表達(dá)式得結(jié)果。實(shí)現(xiàn)代碼5、假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表示隊(duì)列,并且只設(shè)一個(gè)指針指向隊(duì)尾結(jié)點(diǎn)(不設(shè)隊(duì)頭指針) ,試編寫相應(yīng)的置空隊(duì)列、入隊(duì)列、出隊(duì)列的算法。實(shí)現(xiàn)代碼:三、實(shí)驗(yàn)小結(jié)基本掌握棧的結(jié)構(gòu)特性及其入棧,出棧操作;以及隊(duì)列的結(jié)構(gòu)特性及其入隊(duì)、出隊(duì)的操作,掌握循環(huán)隊(duì)列的特點(diǎn)及其操作四、教師評(píng)語

37、精彩文檔實(shí)用標(biāo)準(zhǔn)文案實(shí)驗(yàn)三串的模式匹配一、實(shí)驗(yàn)?zāi)康?、了解串的基本概念2、掌握串的模式匹配算法的實(shí)現(xiàn)二、實(shí)驗(yàn)內(nèi)容和要求1、閱讀并運(yùn)行下面程序,根據(jù)輸入寫出運(yùn)行結(jié)果。#include<stdio.h>#include<string.h>#define MAXSIZE 100typedef structchar dataMAXSIZE;int length;SqString;int strCompare(SqString *s1,SqString *s2); /*串的比較 */void show_strCompare();void strSub(SqString *s,in

38、t start,int sublen,SqString *sub);/* 求子串 */void show_subString();int strCompare(SqString *s1,SqString *s2)int i;for(i=0;i<s1->length&&i<s1->length;i+)if(s1->datai!=s2->datai)return s1->datai-s2->datai;return s1->length-s2->length;void show_strCompare()SqString s

39、1,s2;int k;printf("n*show Compare*n");printf("input string s1:");gets(s1.data);s1.length=strlen(s1.data);printf("input string s2:");gets(s2.data);s2.length=strlen(s2.data);if(k=strCompare(&s1,&s2)=0)printf("s1=s2n");精彩文檔實(shí)用標(biāo)準(zhǔn)文案else if(k<0)printf(&quo

40、t;s1<s2n");elseprintf("s1>s2n");printf("n*show over*n");void strSub(SqString *s,int start,int sublen,SqString *sub)int i;if(start<1|start>s->length|sublen>s->length-start+1)sub->length=0;for(i=0;i<sublen;i+)sub->datai=s->datastart+i-1;sub->

41、;length=sublen;void show_subString()SqString s,sub;int start,sublen,i;printf("n*show subString*n");printf("input string s:");gets(s.data);s.length=strlen(s.data);printf("input start:");scanf("%d",&start);printf("input sublen:");scanf("%d&quo

42、t;,&sublen);strSub(&s,start,sublen,&sub);if(sub.length=0)printf("ERROR!n");elseprintf("subString is :");for(i=0;i<sublen;i+)printf("%c",sub.datai);printf("n*show over*n");int main()int n;do printf("n-String-n");printf("1. strCompa

43、ren");printf("2. subStringn");精彩文檔實(shí)用標(biāo)準(zhǔn)文案printf("0. EXITn");printf("ninput choice:");scanf("%d",&n);getchar();switch(n)case 1:show_strCompare();break;case 2:show_subString();break;default:n=0;break;while(n);return 0;運(yùn)行程序輸入:1studentstudents2Computer Data Stuctures104運(yùn)行結(jié)果:精彩文檔實(shí)用標(biāo)準(zhǔn)文案2、實(shí)現(xiàn)串的模式匹配算法。補(bǔ)充下面程序,實(shí)現(xiàn)串的BF和 KMP算法。#include<stdio.h>#include<string.h>#define MAXSIZE 100typedef structchar dataMAXSIZE;精彩文檔實(shí)用標(biāo)準(zhǔn)文案int length;SqString;int index_bf(SqString *s,SqString *t,int start);void getNext(SqString *t,int next)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論