java数据结构与算法的day01

        线性表(linear list)数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。

        在稍复杂的线性表中,一个数据元素可由多个数据项(item)组成,此种情况下常把数据元素称为记录(record),含有大量记录的线性表又称文件(file)

        线性表中的个数n定义为线性表的长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置,如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。

        线性表的相邻元素之间存在着序偶关系。如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱 [1]  

        第一天里面,敲了关于线性表的以下几个方法:

        (1)  获取数组长度:len(int arr[])

        //这个是用来求数组的长度
        public static int len(int arr[]){
            int length = arr.length;
            return length;
        }

        (2)  遍历整个数组: printlist(int arr[])

        public static void printlist(int arr[]){
            if(arr!=null){
                int length = len(arr);
                int i;
                for(i=0 ; i<length ;i++){
                    System.out.print(arr[i]+" ");
                }
            }else {
                System.out.println(" null");
            }

        }

        (3)  查找元素群:printElements(int arr[] , int start , int end)

        public static int[] printElements(int arr[] , int start , int end){

            if(start<end){
                if(end<len(arr)) {
                    int elements[] = new int[(end - start)];
                    int i = 0;
                    int first = start;
                    for(;first<end;first++){
                        elements[i++] = printElemnt(arr,first);
                    }
                    return elements;
                }else {
                    System.out.print("超出索引值");
                    return null;
                }
            }else {
                System.out.print("不符合输入标准");
                return null;
            }
        }

        (4)  查找元素:printElemnt(int arr[],int i)

        public static  Integer printElemnt(int arr[],int i){
            if (i<=len(arr)) {
                return arr[i];
            }else {
                return null;
            }
        }

        (5)  判断该元素是否存在:boolElement(int arr[] , int i)

        public static boolean boolElement(int arr[] , int i){
            boolean t = false;
            for(int j=0 ; j<len(arr) ; j++){
                if(i==printElemnt(arr,j)){
                    t = true;
                    break;
                }
            }
            return t;
        }

        (6)  判断元素群是否存在:boolElements(int arr[] , int a[])

        public static boolean boolElements(int arr[] , int a[]){
            boolean t = false;
            int arrl = len(arr);
            int al = len(a);
            for(int j=0 ; j<arrl-al ; j++){
                int i;
                int x=j;
                for(i=0;i<al;i++){
                    if(a[i]==arr[x++]){
                        if(i==(al-1)){
                            t = true;
                        }
                    }else {
                        break;
                    }
                }
            }
            return t;
        }

        (7)  测试

        public static void main(String[] args) {
            System.out.println("接下来我们创造了一个数组,进行实验");
            int arr[] = {0,1,2,3,4,5,6,7,8,9};
            System.out.println("让我们康康它有多少长度:");
            System.out.println(len(arr));
            System.out.println("====================================");
            System.out.println("接下来我们看看里面有什么吧!");
            printlist(arr);
            System.out.println("\n====================================");
            System.out.println("接下来是索引元素了");
            System.out.println("我要索引第一个:"+printElemnt(arr,0));
            System.out.println("我要索引第十一个:"+printElemnt(arr,11));
            System.out.println("====================================");
            System.out.println("接下来是索引元素群体");
            System.out.print("索引第一个到第四个:");
            printlist(printElements(arr,1,4));
            System.out.print("\n索引第五个到第四个:");
            printlist(printElements(arr,5,4));
            System.out.print("索引第一个到第十一个:");
            printlist(printElements(arr,0,11));
            System.out.println("====================================");
            System.out.println("查询数字1是否存在:"+boolElement(arr,1));
            System.out.println("查询数字13是否存在:"+boolElement(arr,14));
            System.out.println("====================================");
            int a[] = {1,2,3};
           int b[] = {3,6,9};
            System.out.println("查询数组{1,2,3}在不在arr里:"+boolElements(arr,a));
            System.out.println("查询数组{3,6,9}在不在arr里:"+boolElements(arr,b));
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值