0

私は2つの配列を持っています

int n = 10;
int a[n];
int** t = new int*[n];

次に、そのi要素のtポイントをのi要素にします次にa 、配列内のポインターのみをソートしたいt次に、それをバブルソートしようとしますが、うまくいきません

do{
    for(int i = 0; i < n -1; i++){
        if(*t[i] > *t[i+1]){
            char* x = t[i];
            t[i] = t[i+1];
            t[i+1] = x;
        }
        n--;
    }
}while(n>1);
4

1 に答える 1

3

forループ内でnをデクリメントすると、配列全体を通過しません。forループの外に配置してみてください

于 2013-03-16T18:40:29.710 に答える