Java面向对象(三)

19.请写出冒泡排序代码

  1. 1.       冒泡排序算法

publicclass TestBubbleSort {

    publicstaticvoid sort(int[] a) {

        int temp = 0;      

        // 外层循环,它决定一共走几趟

        for (int i = 0; i <a.length-1; ++i) {

            //内层循环,它决定每趟走一次

            for (int j = 0; j <a.length-i-1 ; ++j) {

                //如果后一个大于前一个

                if (a[j + 1] <a[j]) {

                    //换位

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

                }

            }

    }  

 

    publicstaticvoid sort2(int[] a) {

        int temp = 0;

        for (int i = 0; i <a.length-1; ++i) {

            //通过符号位可以减少无谓的比较,如果已经有序了,就退出循环

            int flag = 0;

            for (int j = 0; j <a.length-1-i ; ++j) {

                if (a[j + 1] <a[j]) {

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

                    flag= 1;

                }

            }

            if(flag == 0){  break;}        

        }

    }

}

20.请写出选择排序的代码

publicclass TestSelectSort {

    publicstaticvoid sort(int arr[]) {

        int temp = 0;

        for (int i = 0; i < arr.length - 1; i++) {

            // 认为目前的数就是最小的, 记录最小数的下标

            int minIndex = i;

            for (int j = i + 1; j <arr.length; j++) {

                if (arr[minIndex]> arr[j]) {

                    // 修改最小值的下标

                    minIndex= j;

                }

            }

            // 当退出for就找到这次的最小值

            if (i != minIndex) {

                temp= arr[i];

                arr[i]= arr[minIndex];

                arr[minIndex]= temp;

            }

        }

    }

}

21.请写出插入排序的代码

publicclass TestInsertSort {

    publicstaticvoid sort(int arr[]) {

        int i, j;

        for (i = 1; i <arr.length; i++) {

            int temp = arr[i];

            for (j = i; j > 0&& temp < arr[j - 1]; j--) {

                arr[j]= arr[j - 1];

            }

            arr[j] =temp;

        }

    }

}

22.开发存储过程,实现操作:

查询订单数据,如果发现有超过六个月没有下单的客户,自动向流失预警表中添加一条记录。

USE [jb_crm_team0]

GO

SET ANSI_NULLS OFF

GO

SET QUOTED_IDENTIFIER OFF

GO

ALTER PROCEDURE [dbo].[Check_Lost]   AS

DECLARE @lst_cust_no char(17),@lst_cust_name nvarchar(100),

    @lst_cust_manager_id  bigint,@lst_manager_name nvarchar(50),

    @lst_status  varchar(10)

 

DECLARE Lost_Cust_Cursor CURSOR FOR

select cust_no,cust_name,cust_manager_id,cust_manager_name, 1

from cst_customer

where cust_no in (

    select distinct cst.cust_no

    from cst_customer cst,v_orders odr

    where cst.cust_name=odr.odr_customer and DATEDIFF(m,odr.odr_date,getdate())>6

)

 

OPEN Lost_Cust_Cursor

FETCH NEXT FROM Lost_Cust_Cursor

into @lst_cust_no,@lst_cust_name,@lst_cust_manager_id,@lst_manager_name,@lst_status

 

WHILE @@FETCH_STATUS = 0

BEGIN

    insert into cst_lost(lst_cust_no,lst_cust_name,lst_cust_manager_id,lst_cust_manager_name,lst_status)

    values (@lst_cust_no,@lst_cust_name,@lst_cust_manager_id,@lst_manager_name,@lst_status)

 

    FETCH NEXT FROM Lost_Cust_Cursor

    into @lst_cust_no,@lst_cust_name,@lst_cust_manager_id,@lst_manager_name,@lst_status     

END

CLOSE Lost_Cust_Cursor

DEALLOCATE Lost_Cust_Cursor


你可能感兴趣的:(java,面向对象)