zoukankan      html  css  js  c++  java
  • UML 中有哪些常用的图?

    UML 定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结

    构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence

    diagram)、协作图(collaboration diagram)、状态图(statechart diagram)、

    活动图(activity diagram)、构件图(component diagram)、部署图(deployment

    diagram)等。在这些图形化符号中,有三种图最为重要,分别是:用例图(用来

    捕获需求,描述系统的功能,通过该图可以迅速的了解系统的功能模块及其关系)、

    类图(描述类以及类与类之间的关系,通过该图可以快速了解系统)、时序图(描

    述执行特定任务时对象之间的交互关系以及执行顺序,通过该图可以了解对象能

    接收的消息也就是说对象能够向外界提供的服务)。

    时序图:

    用 Java 写一个冒泡排序。

    答:

    冒泡排序几乎是个程序员都写得出来,但是面试的时候如何写一个逼格高的冒泡

    排序却不是每个人都能做到,下面提供一个参考代码:

    import java.util.Comparator;

    /**

    * 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可

    以相互替换)

    * @author 骆昊

    *

    */

    public interface Sorter {

    /**

    * 排序

    322 页 共 485 页* @param list 待排序的数组

    */

    public <T extends Comparable<T>> void sort(T[] list);

    /**

    * 排序

    * @param list 待排序的数组

    * @param comp 比较两个对象的比较器

    */

    public <T> void sort(T[] list, Comparator<T> comp);

    }

    import java.util.Comparator;

    /**

    * 冒泡排序

    *

    * @author 骆昊

    *

    */

    public class BubbleSorter implements Sorter {

    @Override

    public <T extends Comparable<T>> void sort(T[] list) {

    boolean swapped = true;

    for (int i = 1, len = list.length; i < len && swapped; ++i) {

    swapped = false;

    for (int j = 0; j < len - i; ++j) {

    if (list[j].compareTo(list[j + 1]) > 0) {

    T temp = list[j];

    list[j] = list[j + 1];

    323 页 共 485 页list[j + 1] = temp;

    swapped = true;

    }

    }

    }

    }

    @Override

    public <T> void sort(T[] list, Comparator<T> comp) {

    boolean swapped = true;

    for (int i = 1, len = list.length; i < len && swapped; ++i) {

    swapped = false;

    for (int j = 0; j < len - i; ++j) {

    if (comp.compare(list[j], list[j + 1]) > 0) {

    T temp = list[j];

    list[j] = list[j + 1];

    list[j + 1] = temp;

    swapped = true;

    }

    }

    }

    }

    }

  • 相关阅读:
    SqlHelper
    asp.net中窗口相关操作总结(javascript)
    ASP.NET顯示對話框
    为ASP.NET控件添加常用的JavaScript操作
    右键弹出菜单
    log4net的初使用
    QQ/MSN右下角弹出提示窗口
    简便无刷新文件上传系统
    简单的自动更新程序实
    SQL中的单记录函数
  • 原文地址:https://www.cnblogs.com/programb/p/13021371.html
Copyright © 2011-2022 走看看