数据结构-静态单链表节点的查找

来源:互联网 发布:java技术架构图工具 编辑:程序博客网 时间:2024/06/13 22:42

数据结构-静态单链表节点的查找

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:142            测试通过:88

描述

在实现单链表的时候,有时可以使用一维数组来表示,静态单链表节点的查找操作是静态单链表数据结构对象操作的重要内容,请您写一个程序完成在一个静态单链表查找某一个节点的操作。

请用如下函数完成上述功能,静态单链表结构的定义如下(强烈建议使用下面的定义和函数结构)

#define MAXSIZE 1000 //

typedef struct{
     ElemType data;
     int            cur;
}component,SLinkList[MAXSIZE];

int LocateElem_SL(SLinkList S,ElemType e)

输入

输入包括多组测试数据,每组测试数据包括多行,第一行是静态单链表的内容,第二行是要查找的元素个数N,第三行是要查找的N个元素,用空格隔开。

输出

对每组测试数据,如果查找成功则输出,该元素在静态单链表中的位置,否则输出0;

样例输入

S1 = ( M O K O I M G K J )
2
G U
S2 = ( K G H H P O A K O L K F O )
4
H O O S

样例输出

S1 = ( M O K O I M G K J )
LocateElem_SL(S, 'G') = 7
LocateElem_SL(S, 'U') = 0
S2 = ( K G H H P O A K O L K F O )
LocateElem_SL(S, 'H') = 3
LocateElem_SL(S, 'O') = 6
LocateElem_SL(S, 'O') = 6
LocateElem_SL(S, 'S') = 0

#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;typedef char Elemtype;char a[10000];char b[10000];char c[10000];typedef struct LNode{    Elemtype data;    struct LNode *next;} LNode,*LinkList;void build(LinkList &la){    if((la=new LNode)==NULL)        exit(-1);    la->next=NULL;}void tailbuild(LinkList &l){    LinkList q,p;    int i;    p=l;    int len=strlen(a);    int f=0;    for(i=0; i<len; i++)    {        if(a[i]=='(')            f=1;        if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')&&(f==1))        {            q=new LNode;            q->data=a[i];            p->next=q;            p=q;            p->next=NULL;        }    }}int seinsert(LinkList l,char ch){    int i=1;    LinkList p;    p=l;    p=p->next;    while(p)    {        //cout<<p->data<<endl;        if(p->data==ch)        {            break;        }        i++;        p=p->next;    }    if(!p)        return 0;    return i;}void print(LinkList l){    LinkList q;    q=l;    while(q->next!=NULL)    {        q=q->next;        cout<<q->data<<" ";    }}int main(){    LinkList la;    int n,m,i;    char ch;    while(gets(a))    {        scanf("%d",&n);        getchar();        for(i=0; i<n; i++)        {            scanf("%c",&b[i]);                scanf("%c",&ch);        }        build(la);        tailbuild(la);        puts(a);        for(i=0; i<n; i++)        {            int t=seinsert(la,b[i]);            printf("LocateElem_SL(S, '%c') = %d\n",b[i],t);        }    }    return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婴儿拉屎稀水怎么办 新生儿睡得少怎么办 小孩大便是水怎么办 婴儿大便稀水样怎么办 小孩晚上睡不着觉怎么办 小孩小鸡头红怎么办 儿童睡觉磨牙齿怎么办 幼儿小鸡红肿疼怎么办 宝宝小鸡淹了怎么办 小孩的小鸡肿怎么办 小鸡脚趾歪了怎么办 小鸡脖子歪了怎么办 宝宝的小鸡红怎么办 游戏联不了网络怎么办 光敏印章进水了怎么办 照片打印出来黑怎么办 企业股东签名不符怎么办 电脑签字签不了怎么办 刘海的碎发怎么办 车牌号全是单数怎么办 品正通保车险超市怎么办营业执照 车辆咨询服务门市怎么办营业执照 被互盾科技骗了怎么办 家具生意不好怎么办啊 今年家具店生意不好怎么办 奶茶店位置不好怎么办 早餐店位置不好怎么办 木工做的不好怎么办 淘宝昵称改不了怎么办 淘宝店关门售后怎么办 店里生意不好怎么办?解决方案 淘宝店铺没有生意怎么办 淘宝店做大了应该怎么办 汽车维修没生意怎么办 淘宝买家具安装怎么办 投标时未记主材费结算时怎么办 不敢买自慰棒怎么办 车被扎了个洞怎么办 企业欠税交不起怎么办 组织代码查不到怎么办 u盾电量不足怎么办