java和c的排序大战(排序函数java)

发布时间:2022-11-16

本文目录一览:

  1. C语言的问题,或者用JAVA编程 快速排序的问题
  2. 用C、C++或者JAVA对一组数字排序的问题
  3. java与c是否有先后顺序和互相影响

C语言的问题,或者用JAVA编程 快速排序的问题

按照你的要求编写的快速排序从大到小排序的Java程序如下

public class QuickSort {
    private static final int[] a = new int[10];
    public void QS(int left, int right) {
        int i, j, t, temp;
        if (left > right)
            return;
        temp = a[left];
        i = left;
        j = right;
        while (i < j) {
            while (a[j] <= temp && j > i) {
                j--;
            }
            a[i] = a[j];
            while (a[i] >= temp && j > i) {
                i++;
            }
            a[j] = a[i];
        }
        a[i] = temp;
        QS(left, i - 1);
        QS(i + 1, right);
    }
    public static void main(String[] args) {
        int i;
        for (i = 0; i < 10; i++) {
            a[i] = (int) (Math.random() * 100) + 1;
            System.out.print(a[i] + " ");
        }
        System.out.println();
        QuickSort qs = new QuickSort();
        qs.QS(0, 9);
        for (i = 0; i <= 9; i++)
            System.out.print(a[i] + " ");
        System.out.println();
    }
}

运行结果:

82 84 8 59 57 7 93 98 3 83
98 93 84 83 82 59 57 8 7 3

用C、C++或者JAVA对一组数字排序的问题

说实话,你一分不给实在有点过份了,难怪没人帮你回答。 希望你多加点分数,回答了这么多 这个实际上就是一个N*N的矩阵,值是内螺旋递增的,你从1开始按值得递增画画看就知道了。 对于维数为N的矩阵这个问题可以分解为两部 第一步只看最外圈,这个一个N维矩阵最外圈有4N-4个数,这是最开始的递增序列,如果N=3,可以看到有这样四步,最上面的一行1~2,最右边的一列3~4,最下面的一行5~6,最左边的一列7~8,这样一圈下来就形成了一个最外围的矩形。 第二步同第一步,只不过第二次在开始只不过是从9开始了 伪代码为:

x=0,y=0 //矩阵的初始位置为0,0
N       //N为矩阵的维数
sta=1   //初始值为1
while(N>0){
    i=x,j=y ;
    处理当前矩阵最外围最上行;
    处理当前矩阵最外围最右列;
    处理当前矩阵最外围最下行;
    处理当前矩阵最外围最左列;
    N-=2;//矩阵缩小,继续按以上方法处理内部矩阵
    x++;y++;
}

java与c是否有先后顺序和互相影响

JAVA和C从语言来说应该没有直接的影响C可能更接近底层一些,JAVA可能软件设计设计的多一些。不过实际来说,JAVA面向对象的编程思想和C面向过程的思想确实容易让初学者混淆,多少有点影响学习。