数据结构中关于串的操作

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:55:16
数据结构关于串的操作
在串中进行查找、替换操作

要原程序哦,最好是用C编的

子串定位--朴素算法:
#include <stdio.h>
#define N 9
typedef struct node
{ int i,j,v;
}JD;

int trans_sparmat(JD ma[],JD mb[])
{ int col,p,n,t,k;
if(ma[0].v==0)
return(0);
n=ma[0].j;
t=ma[0].v;
mb[0].i=n; mb[0].j=ma[0].i; mb[0].v=t;
k=1;
for(col=1;col<=n;col++)
for(p=1;p<=t;p++)
if(ma[p].j==col)
{ mb[k].i=ma[p].j;
mb[k].j=ma[p].i;
mb[k].v=ma[p].v;
k++;
}
return(1);
}
void main()
{ JD ma[N]={{6,7,8},{1,2,12},{1,3,9},{3,1,-3},
{3,6,14},{4,3,24},{5,2,18},{6,1,15},{6,4,-7}};
JD mb[N];
int i;
trans_sparmat(ma,mb);
for(i=0;i<N;i++)
printf("%d,%d,%d\n",mb[i].i,mb[i].j,mb[i].v);
}

快速算法:
#include <stdio.h>
#define N 9
#define M 8
typede