您的位置:

java线性查找代码实现(Java 线性表)

本文目录一览:

Java的线性查找,二分查找,冒泡排序,插入排序,快速排序的源代码

C++的,只要把,函数名改下,输出语句改下,就可以了。希望对你有帮助

void Sort :: SelectionSort(int a[],int n)

{

bool sorted=false;

cout"中间过程为:"endl;

for(int size=n;!sorted size1;size--){

int pos = 0;

sorted = true;

for(int i=1;isize;i++)

if(a[pos]=a[i])pos=i;

else sorted=false;

Swap(a[pos],a[size-1]);

for(int j=0;j!=n;j++){//显示中间过程

couta[j]" ";

}

coutendl;

}

cout"选择排序结果为:"endl;

for(int i=0;i!=n;i++){

couta[i]" ";

}

coutendl;

}

/*

冒泡排序

*/

bool Sort :: Bubble(int a[],int m,int n)

{

bool swapped=false;

for(int i=0;im-1;i++){

if(a[i]a[i+1]){

Swap(a[i],a[i+1]);

swapped=true;

for(int j=0;j!=n;j++){//显示中间过程

couta[j]" ";

}

coutendl;

}

}

return swapped;

}

void Sort :: BubbleSort(int a[],int n)

{

cout"中间过程为:"endl;

for(int i=n;i1 Bubble(a,i,n);i--);

coutendl;

cout"冒泡排序结果为:"endl;

for(i=0;i!=n;i++){

couta[i]" ";

}

coutendl;

}

/*

插入排序

*/

void Sort :: InsertionSort(int a[],int n)

{

cout"中间过程为:"endl;

for (int i=1;in;i++){

int t=a[i];

int j;

for (j=i-1;j=0 ta[j];j--){

a[j+1]=a[j];

}

a[j+1]=t;

for(int k=0;k!=n;k++){//显示中间过程

couta[k]" ";

}

coutendl;

}

cout"插入排序结果为:"endl;

for(i=0;i!=n;i++){

couta[i]" ";

}

coutendl;

}

/*

基数排序

*/

void Sort :: RadixSort(int a[],int n)

{

int d=1;

int m=10;

for (int i=0;in;i++){

while(a[i]=m){

m*=10;

++d;

}

}

int *t=new int[n];

int *count=new int [10];

int radix=1,k;

for(i=1;i=d;i++){

for(int j=0;j10;j++){

count[j]=0;//每次分配前清空计数器

}

for(j=0;jn;j++){

k=(a[j]/radix)%10;//统计每个桶中的记录数

count[k]++;

}

cout"分桶显示:"endl;

for(j=0;j10;j++){//显示中间xiangxi过程

if(count[j]!=0){

coutj": ";

for(int l=0;ln;l++){

if ((a[l]/radix)%10==j)

couta[l]" ";

}

coutendl;

}

}

coutendl;

for(j=1;j10;j++){

count[j]=count[j-1]+count[j];

}

for(j=n-1;j=0;j--){

k=(a[j]/radix)%10;

count[k]--;

t[count[k]]=a[j];

}

for(j = 0;j n;j++) {

a[j]=t[j];

}

radix=radix*10;

cout"按桶依次排序排序:"endl;

for(j=0;j!=n;j++){//显示中间过程

couta[j]" ";

}

coutendl;

}

delete[] t;

delete[] count;

cout"基数排序结果为:"endl;

for(i=0;i!=n;i++){

couta[i]" ";

}

coutendl;

}

JAVA中怎么实现查询 代码

try{Connection con;

Statement stmt;

ResultSet rs;

int temp;

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/java","root","");//以上是数据库连接,不同的数据管理器有 //不同的驱动和链接方式,以上是mysql的连接

stmt=con.createStatement();

rs=stmt.executeQuery("select * from student");//执行查询语句,结果赋值给结果集rs

//结果集是结果于字段编号的映射,每一个字

//段都有一个编号,最小为1,也就是第一个字段

while(rs.next()){

String names=rs.getString("name");//查询结果转换成字符串。

System.out.println(names);

}rs.close();

}catch(Exception e){

e.printStackTrace();

}

有关JAVA简单线性查找的问题,源码如下:

那个key是linearSearch方法的形参 是调用该方法的时候需要传入的参数

比如 linearSearch(array, 6);

这里 key就是6

你可以加个main函数试下

public static void main(String[] args) {

int array2[] = {1,2,3,4,5};

LinearSearch search = new LinearSearch();

int result = search.linearSearch(array2, 6 );

System.out.println(result);

}

不过我也看了看 这个方法跟array2没多大关系 就只取了array2的长度

再在array里边去找key,意义不大 估计写错了~

百科里边这个线性查找才是正确的

int display(int array[],int b,int conter)

在数组array里查找conter 从array[0]找到array[b]