typedef struct {
int *elem;
int length;
}SSTable;
int test4( SSTable ST, int key)
{ int i;
ST.elem[0].key=key;
i=ST.length;
while(ST.elem[i]!=key)
____________(2分)
return i;
}
简要说明ST.elem[0]的作用是什么?查找成功和不成功的情况下该函数分别返回什么结果?
下面是带权的有向图G的邻接矩阵表示法,顶点集合为{V1,V2,V3,V4,V5,V6,V7,V8}。(12分)
0 6 0 1 0 50 0 0
0 0 43 11 6 0 0 0
0 0 0 0 0 0 0 8
0 0 0 0 12 0 0 0
0 0 38 0 0 0 24 0
0 0 0 0 1 0 12 0
0 0 0 0 0 0 0 20
0 0 0 0 0 0 0 0
(1)、画出图G的邻接表表示法;
(2)、以顶点V1出发深度遍历图G所得的顶点序列。
(3)、图G的一个拓扑序列。
(4)、从顶点V1到V8的最短路径(顶点序列)。
(5)、顶点V1到顶点V8的关键路径。
顺序查找算法
答案:3 悬赏:0
解决时间 2021-01-31 07:01
- 提问者网友:温柔又任性
- 2021-01-31 00:53
最佳答案
- 二级知识专家网友:堕落奶泡
- 2021-01-31 01:55
1、i--;
ST.elem[0]的作用是一个“哨兵”,用于查找不成功时结束循环
返回结果:查找成功:i;不成功:0;
2、(1)这个贴不出来
(2)1->2->3->8->4->5->7->6
(3)12645378
(4)12578
(5)16538
ST.elem[0]的作用是一个“哨兵”,用于查找不成功时结束循环
返回结果:查找成功:i;不成功:0;
2、(1)这个贴不出来
(2)1->2->3->8->4->5->7->6
(3)12645378
(4)12578
(5)16538
全部回答
- 1楼网友:闲懒诗人
- 2021-01-31 03:31
1.i--
成功返回i,失败返回0;
2.(1)邻接表我发给你,把邮箱给我
(2)我写了三个序列:A1->2->3->8->4->5->7->6
B1->6->7->8->4->5->3->2
C1->4->5->7->8->2->3->6
这三个都正确
(3)12465378或者12645378或者12465738或者12645738
(4)1238
(5)124538
- 2楼网友:迷人小乖乖
- 2021-01-31 03:05
#include
#include
#define max_length 100
typedef int keytype;
typedef struct {
keytype *elem;
int length;
}sstable; //顺序表的存储结构
int search_seq(sstable st, keytype key){
int i;
st.elem[0] = key; //“哨兵”,如果顺序表中不存在要查找的数据的话,则查找指针必定指向该哨兵
for(i = st.length; st.elem[i] != key; i--)
;
return i; //找到的话,则i != 0,否则i = 0
}
void main()
{
int i, key;
sstable t;
t.elem = (keytype *)malloc(sizeof(keytype));
printf("how many entries do you want input\n");
scanf("%d", &t.length);
for(i=1; i<=t.length; i++){
printf("please input the %dth entries \n", i);
scanf("%d", &t.elem[i]);
}
for (i=1; i<=t.length; i++)
printf("%5d",t.elem[i]); //显示已经输入的所有数据
printf("\nplease input the data you want to search\n");
scanf("%d", &key);
i = search_seq(t,key);
printf("the search data is locate the %dth(0 indicate can not find)\n",i);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯