如何在C+中实现插入排序算法+;使用数组和指针? 我试图学习C++、数组和指针。我决定实施这个计划。这是我的代码和错误的输出。我应该怎么做来纠正它?你能告诉我什么是我的错误吗?如果是常见的错误,我应该避免什么
我的代码:如何在C+中实现插入排序算法+;使用数组和指针? 我试图学习C++、数组和指针。我决定实施这个计划。这是我的代码和错误的输出。我应该怎么做来纠正它?你能告诉我什么是我的错误吗?如果是常见的错误,我应该避免什么,c++,arrays,pointers,C++,Arrays,Pointers,我的代码: // InsertionSort.cpp #include "stdafx.h" #include <iostream> int DeclareAnInteger(); int* DeclareAndShowTheArray(int n); int* InsertionSort(int *A, int n); int main() { int n = DeclareAnInteger(); int *A; A = DeclareAndShowTh
// InsertionSort.cpp
#include "stdafx.h"
#include <iostream>
int DeclareAnInteger();
int* DeclareAndShowTheArray(int n);
int* InsertionSort(int *A, int n);
int main()
{
int n = DeclareAnInteger();
int *A;
A = DeclareAndShowTheArray(n);
int *B;
B = InsertionSort(A, n);
system("PAUSE");
return 0;
}
int DeclareAnInteger()
{
int n;
std::cout << "Please enter a positive integer n: ";
std::cin >> n;
return n;
}
int* DeclareAndShowTheArray(int n)
{
int *A;
A = (int *)alloca(sizeof(int) * n);
for (int i = 0; i < n; i++)
{
std::cout << "Please enter the value of A[" << i + 1 << "]: ";
std::cin >> A[i];
}
std::cout << "The unsorted array is: ";
for (int i = 0; i < n; i++)
{
std::cout << A[i];
std::cout << "\t";
}
std::cout << "\n";
return A;
}
int* InsertionSort(int *A, int n)
{
int k;
//int *A = new int[n];
for (k = 1; k < n; k++)
{
int key = A[k];
int m = k - 1;
while (m >= 0 & A[m] > key)
{
A[m + 1] = A[m];
m = m - 1;
}
A[m + 1] = key;
}
std::cout << "The sorted array is: ";
for (int i = 0; i < n; i++)
{
std::cout << A[i];
std::cout << "\t";
}
std::cout << "\n" << std::endl;
return A;
}
//InsertionSort.cpp
#包括“stdafx.h”
#包括
int DeclareAnInteger();
整数*申报和显示阵列(整数n);
int*InsertionSort(int*A,int-n);
int main()
{
int n=DeclareAnInteger();
int*A;
A=公布和显示阵列(n);
int*B;
B=插入排序(A,n);
系统(“暂停”);
返回0;
}
整数DeclareAnInteger()
{
int n;
std::cout>n;
返回n;
}
整数*申报和显示阵列(整数n)
{
int*A;
A=(int*)alloca(sizeof(int)*n);
对于(int i=0;i 这是一个大问题:
A = (int *)alloca(sizeof(int) * n);
alloca
函数在堆栈上分配,当函数返回给您一个错误指针时,以及当您取消引用该指针时,它将丢失
如果你正在编程C++,则使用<代码>新< /C> >,如果你编程C,然后使用<代码> Malc 。< /P>请不要用图片粘贴一些文本。只粘贴文本本身。