数据结构-静态单链表节点的查找
来源:互联网 发布:java技术架构图工具 编辑:程序博客网 时间:2024/06/13 22:42
数据结构-静态单链表节点的查找
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:142 测试通过:88
总提交: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
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
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;}
阅读全文
0 0
- 数据结构-静态单链表节点的查找
- 单链表节点的查找
- 【数据结构】查找番外篇 静态数表的查找 次优查找树
- 数据结构 查找 静态查找表
- 数据结构 静态查找
- 【数据结构】静态查找_Search
- 数据结构 - 静态查找
- 数据结构:静态查找表
- (摘)c++数据结构---单链表的节点类和单链表的查找---(凌风)
- (摘)c++数据结构---单链表的节点类和单链表的查找---(凌风)
- 查找单链表的中间节点
- 查找单链表的中间节点
- 数据结构单链表的查找
- 数据结构-单链表节点的获取
- 数据结构-单链表节点的删除
- 数据结构-单链表节点的删除
- 数据结构——4 单链表查找中间节点
- 数据结构之静态查找表
- Pyhon自学基础 函数
- 深入解析HashMap、ConcurrentHashMap丶HashTable丶ArrayList
- 大数据/政务云采购清单 招标5起,最高招标价为1143万(10.11-10.13)
- linux查看java进程|线程池信息
- 顺序栈的基本操作
- 数据结构-静态单链表节点的查找
- 【codevs 2744】养鱼喂妹纸
- 如何制作U盘启动工具
- 进制问题
- CentOS7安装percona-xtrabackup时/etc/my.cnf冲突报错解决
- 关于取网络适配器MAC地址时候遇到的编译问题
- 动态存储分配(堆分配)的顺序串与顺序表在操作上的异同
- php递归与迭代实现斐波那契数列
- Agilent.GoldenGate.RFIC.Simulation.2015.01.v4.9.0.Win64 1CD(RTL验证标准)