设某个一维数组中有25个元素,编写一个顺序查找程序,从中查找值为x的元素在数组中的位置..

设某个一维数组中有25个元素,编写一个顺序查找程序,从中查找值为x的元素在数组中的位置..,第1张

public static void main(String[] args) {

int[] res = {1,2,5,6,7,8,9,3,10,11,12,14,15,22,21,17,86,99,55,24,23,25,28,31,65};

int length = reslength;

int j = 25;

for (int i = 0; i < length; i++) {

if(res[i] == j) {

Systemoutprintln("位于数组:" + i);

}

}

}

main()

{ int a[20];

int i,b,n=0;

for(i=0;i<20;i++)

scanf("%d",a[i]);

printf("input the num to find");

scanf("%d",&b);

for(i=0;i<20;i++)

if(b==a[i])

{printf("%d",i);

n++;}

if(n==0)

printf("can not found");

}

我是C的初学者,试着编了下,你运行看看!

写的我好累,分给我吧

#include<iostreamh>

#include<iomaniph>

template <class T>

class Array

{

T set;

int n;

public:

Array(T data,int i){set=data;n=i;}

~Array(){}

void sort(); // 排序

int seek(T key); // 查找指定的元素

T sum(); // 求和

void disp(); // 显示所有的元素

};

template<class T>

void Array<T>::sort()

{

int i,j;

T temp;

for(i=1;i<n;i++)

for(j=n-1;j>=i;j--)

if(set[j-1]>set[j])

{

temp=set[j-1];set[j-1]=set[j];set[j]=temp;

}

}

template <class T>

int Array<T>::seek(T key)

{

int i;

for(i=0;i<n;i++)

if(set==key)

return i;

return -1;

}

template<class T>

T Array<T>::sum()

{

T s=0;int i;

for(i=0;i<n;i++)

s+=set;

return s;

}

template<class T>

void Array<T>::disp()

{

int i;

for(i=0;i<n;i++)

cout<<set<< ;

cout<<endl;

}

void main()

{

int a[]={6,3,8,1,9,4,7,5,2};

double b[]={23,61,15,84,67,38};

Array<int>arr1(a,9);

Array<double>arr2(b,6);

cout<< arr1:<<endl;

cout<< 原序列:; arr1disp();

cout<< 8在arr1中的位置:<<arr1seek(8)<<endl;

arr1sort();

cout<< 排序后:; arr1disp();

cout<<arr2:<<endl;

cout<< 原序列:; arr2disp();

cout<< 84在arr2中的位置:<<arr2seek(84)<<endl;

arr2sort();

cout<< 排序后:; arr2disp();

}

程序如下: #include<stdioh>

#include<stdlibh>

void main()

{

int a[10];

int i,n;

printf("输入十个数:\n");

for(i=0;i<=9;i++)

scanf("%d",&a[i]);

printf("输入要查找的数:\n");

scanf("%d",&n);

for(i=0;i<=9;i++)

{

if(a[i]==n)

{

printf("找到了!\n");

exit(0);

}

}

printf("没有找到!\n");

}

#include <iostream>

using namespace std;

int a[1000];

//排序

void bubble(int a[],int n)

{

int i,j;

for(i=0;i<=n-2;i++)

{

for(j=0;j<=n-2-i;j++)

{

if(a[j]>a[j+1])

{

swap(a[j],a[j+1]);

}

}

}

}

//二分查找

int binary_search(int a, int len, int goal)

{

  int low = 0;

  int high = len - 1;

  while(low <= high)

  {

      int middle = (low + high)/2;

      if(a[middle] == goal)

          return middle;

      //在左半边

      else if(a[middle] > goal)

          high = middle - 1;

      //在右半边

      else

          low = middle + 1;

  }

  //没找到

  return -1;

}

int main()

{

  int n;

  printf("输入数据个数:");

  cin>>n;

  int i;

printf("请逐个输入数据:");

  for(i=0;i<n;i++)

{

 cin>>a[i];

}

bubble(a,n);

printf("输入要查找的数:");

int goal;

cin>>goal;

  int index = binary_search(a, n, goal);

  if(index != -1)

      cout<<goal<<"在数组中的下标为"<<binary_search(a, n, goal)<<endl;

  else

      cout<<"没有找到"<<goal<<endl;

  return 0;

}

mov ax,SEG DATA1

mov es,ax

mov ax,DATA1

mov al,A

jmp find

zYes db "YES"

find:

repne scasb

je yes

;

yes:

mov ah,9

push cs

pop ds

mov dx,zYes

int 21h

int cmp(char p,char q)

{

int i,j,k,size,pos=new int[strlen(p)];

bool nomat=true;

/先找出首字符的匹配位置集/

j=0;

for(i=0;p[i];i++)

{

if(p[i]==q[0])

{

nomat=false;

pos[j++]=i;

}

}

if(nomat)

return -1;

else if(strlen(q)==1)

return pos[0];

else

{

/匹配剩余项/

size=j;

j=0;

while(j<size)//枚举首位置集

{

i=pos[j++];

nomat=false;

for(i++,k=1;p[i]&&q[k];i++,k++)

if(p[i]!=q[k])

{

nomat=true;

break;

}

if(p[i]==NULL&&q[k]!=NULL)//如果p已匹配完而q没有

nomat=true;

else if(!nomat)

return pos[j-1];

}

}

delete []pos;

return -1;

}

希望对你有所帮助

public class Test6 { //二分查找 public static int findPos(int[] a,int key) { int start=0; int end=alength-1; int temp=0; while(start<end){ int mid=(start+end)/2; if(key>a[mid]){ start=mid+1; temp=start; }else if(key<a[mid]){ end=mid-1; temp=end; }else { return mid; } } return temp; } public static void main(String[] args) { int[]array={1,4,6,7,10,11,23,78}; Systemoutprintln(findPos(array, 0)); }}

以上就是关于设某个一维数组中有25个元素,编写一个顺序查找程序,从中查找值为x的元素在数组中的位置..全部的内容,包括:设某个一维数组中有25个元素,编写一个顺序查找程序,从中查找值为x的元素在数组中的位置..、编写程序,在给定数组中查找某个数,若找到,则输出该数在数组中的位置,否则输出“can not found!”。、C ++编写一个使用类模板对数组进行排序、查找和求元素和的程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9682113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存