使用动态数组

2014-11-24 09:28:12 · 作者: · 浏览: 0

1、定义一个指针类型
如:typedef double* DoubleArrayPtr;
2、声明一个指针变量
如: DoubleArrayPtr a;
3、调用new
a = new double[ array_size ];
4:、动态数组的长度在方括号中给出
5、像普通数组那样使用
6、调用delete [ ]
如:delete [ ] a;

[cpp]
// String.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include
#include
#include///******

typedef int* IntArrayPtr; ///(1)

void fill_array(int a[] , int size);
void sort(int a[] , int size);

int main(int argc, char* argv[])
{
using namespace std;
cout<<"This program sorts numbers from highest to lowest .\n";

int array_size;
cout<<"How many numbers will be sorted \n";
cin>>array_size;

IntArrayPtr a;///(2)
///创建动态数组
a = new int[array_size]; ///(3)

fill_array(a, array_size);

sort(a, array_size);

cout<<"In sorted order the numbers are :\n";
for(int index = 0; index < array_size ; index++)
{
cout< }
cout<
delete [] a; //(5)
return 0;
}


void fill_array(int a[] ,int size)
{
using namespace std;
cout<<"Enter "< for (int index = 0; index < size ;index++)
cin>>a[index];
}

void sort(int a[] , int size)
{
int i , j ;
//选择排序
///将数组降序排序
for(i = 0; i < size - 1 ; i++)
for( j = i +1; j < size ; j++)
{
if( a[i] < a[j] )
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}