做网站IP,万州论坛网站建设,wordpress能支持微信排版,网站开发的职业认知报告题目描述 顺序表内按照由小到大的次序存放着n个互不相同的整数#xff08;1n20000)#xff0c;任意输入一个整数#xff0c;判断该整数在顺序表中是否存在。如果在顺序表中存在该整数#xff0c;输出其在表中的序号#xff1b;否则输出“No Found!。输入 第… 题目描述
顺序表内按照由小到大的次序存放着n个互不相同的整数1n20000)任意输入一个整数判断该整数在顺序表中是否存在。如果在顺序表中存在该整数输出其在表中的序号否则输出“No Found!。输入
第一行输入整数n表示顺序表的元素个数 第二行依次输入n个各不相同的有序整数代表表里的元素 第三行输入整数t代表要查询的次数 第四行依次输入t个整数代表每次要查询的数值。输出
输出t行代表t次查询的结果如果找到在本行输出该元素在表中的位置否则本行输出No Found!示例输入 10
1 22 33 55 63 70 74 79 80 87
4
55 10 2 87 示例输出 4
No Found!
No Found!
10#include stdio.h
#include stdlib.h
#include malloc.h
#define LISTINCREASMENT 100
#define LISTSIZE 10
#define OVERFLOW -1
#define OK 1
typedef int ElemType;
typedef struct
{ElemType * elem;int length;int listsize;
} Sqlist;
int SqInitial(Sqlist L) //顺序表的初始化
{ L.elem(ElemType *) malloc (LISTSIZE*sizeof(ElemType));if (!L.elem) exit(OVERFLOW); //当前存储空间已满L.length0;L.listsizeLISTSIZE;return OK;
}
int ListInsert(Sqlist L,int i,ElemType e) // 在顺序表L的第 i 个元素之前插入新的元素e
{if(i1|| i L.length1) printf(ERROR!); 插入位置不合法if(L.lengthL.listsize){ElemType*newbase(ElemType*)realloc(L.elem,(L.listsizeLISTINCREASMENT)*sizeof(ElemType));if(!newbase) return OVERFLOW;// 当前存储空间已满L.elemnewbase;L.listsizeLISTINCREASMENT; }ElemType * q(L.elem[i-1]);ElemType * p;for(p(L.elem[L.length-1]); pq; --p)*(p1)*p;// 插入位置及之后的元素右移*qe; // 插入eL.length;// 表长增1return OK;
}
void print(Sqlist L,int l,int r,int m)//顺序表的快速查找
{int il,jr,k;if(lr){k(ij)/2;if(L.elem[k]m) printf(%d\n,k1);else if(L.elem[k]m) print(L,l,k-1,m);//递归的调用else print(L,k1,r,m);//递归的调用}elseprintf(No Found!\n);
}
int main()
{int i,j,k,m,n,t;Sqlist L;//顺序表的定义SqInitial(L);//顺序表的初始化scanf(%d,n);for(i1;in;i){scanf(%d,k);ListInsert(L,i,k);//顺序表元素的插入}scanf(%d,t);for(i0;it;i){scanf(%d,m);print(L,0,L.length-1,m);//顺序表元素的查找}
}#include iostream
#includecstdio
using namespace std;
int a[20010];
int i,j;
int m,n;
void print(int a[],int l,int r,int h)
{
il,jr;
int k;
if(lr)
{
k(rl)/2;
if(a[k]h)
printf(%d\n,k1);
else
if(a[k]h)
print(a,l,k-1,h);
else
print(a,k1,r,h);
}
else
printf(No Found!\n);
}
int main()
{
scanf(%d,n);
for(i0;in;i)
scanf(%d,a[i]);
scanf(%d,m);
int num;
while(m--)
{
scanf(%d,num);
print(a,0,n-1,num);
}
return 0;
}