本文目录一览:
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]