在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出"No",序列位序从1到n,要求查找从最后一个元素开始,序列中无重复元素。
连续多组数据输入,每组输入数据第一行首先输入两个整数n(n <= 1000000)和k,n是数组长度,k是待查找的关键字,然后连续输入n个整数,数据间以空格间隔。
若存在则输出元素在序列中的位序和比较次数,不存在则输出No。
#include <stdio.h> int main() {int n,i,j,m;int count=0; //记录查找次数int t,k;int flga=1;while(scanf("%d%d",&m,&n)!=EOF){flga=1;count = t = 0;//初始化for(i=0;i<m;i++){scanf("%d",&t);if(t==n){k=i;flga = 0;}count++;}//要求查找从最后一个元素开始,序列中无重复元素if(flga==0){printf("%d %d\n",k+1,m-k); //位序和比较次数}else{ printf("No\n");}}return 0; }
转载于:https://www.cnblogs.com/CCCrunner/p/6444622.html
相关资源:JAVA上百实例源码以及开源项目