标题:请问各位高手这个简单程序为何无法正常工作
取消只看楼主
荀减一
Rank: 1
等 级:新手上路
帖 子:19
专家分:2
注 册:2016-2-27
结帖率:75%
已结贴  问题点数:15 回复次数:1 
请问各位高手这个简单程序为何无法正常工作
目的是输出排序后的数
程序代码:
#include<iostream>
#include<string>
using namespace std;

void swap(int &a, int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

int SelectMinKey(int a[], int n, int i)
{
    int k = i;
    for (int j = i + 1; j< n; ++j) {
        if (a[k] > a[j]) k = j;
    }
    return k;
}

void selectSort(int a[], int n){
    int key;
    for (int i = 0; i< n; ++i)
    {
        key = SelectMinKey(a, n, i);           //选择最小的元素  
        if (key != i)
            swap(a[i], a[key]);           //最小元素与第i位置元素互换 
    }
}

void main()
{
    int n, arr[1];
    int *p=arr;
    cout << "Please input array number: " << endl;
    cin >> n;
    p = new int(n - 1);
    cout << "Please input all the integer: " << endl;
    for (int i = 0; i < n; i++)
        cin >> arr[i];

    selectSort(arr, n);
    for (int i = 0; i < n; i++)
        cout << arr[i];
    system("pause");
}
2016-05-10 15:06
荀减一
Rank: 1
等 级:新手上路
帖 子:19
专家分:2
注 册:2016-2-27
得分:0 
回复 2楼 rjsp
版主大大猜的真准,请问是我new函数的不正确使用而导致的无法输出排序吗?
2016-05-11 12:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-464604-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.200846 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved