zoukankan      html  css  js  c++  java
  • 算法

    一 奇偶排序

    奇偶排序。给定一个数组,数组中元素有奇数有偶数。要求对数组进行处理,使得数组的左边为奇数,右边为偶数

    public static void partition(int[] arr,int n){
            int i = 0;
            int j = n-1;
            while(true){
                while(i<j && arr[i]%2 == 1) i++;
                while(i<j && arr[j]%2 == 0) j--;
                if(i<j){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
                if (i>j){
                    break;
                }
                i++;
                j--;
            }
            for (int k=0;k< arr.length;k++){
            System.out.print(""+arr[k]);
            }
        }
    

      

    二 求单链表的中间元素。

         对于单链表求中间元素的问题,经典的作法是采用两个指针,初始化都指向链表表头,移动开始时,快指针移动两步,慢指针移动一步。

    当快指针的next为null或者快指针为null的时候,慢指针所指的就是单链表的中间元素(注意奇数个元素和偶数个元素的处理)。

    @ https://blog.csdn.net/qq_26222859/article/details/61913990

    @ https://blog.csdn.net/qq_20110551/article/details/81463489

    @ https://blog.csdn.net/windflybird/article/details/80598036

  • 相关阅读:
    39页第3题 求x的n次幂
    实验4-1 求花费电费的金额
    实验二利用循环计算多个圆柱体体积
    39页第一题 四则运算及其余数
    实验一计算圆的面积
    7-14
    第六章例6-3
    第六章例6-2
    第六章例6-1
    第五章例5-9
  • 原文地址:https://www.cnblogs.com/xingzc/p/9849084.html
Copyright © 2011-2022 走看看