使用动态数组
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<iostream>
#include<cstdlib>
#include<cstddef>///******
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<<a[index]<<" ";
}
cout<<endl;
delete [] a; //(5)
return 0;
}
void fill_array(int a[] ,int size)
{
using namespace std;
cout<<"Enter "<<size<<" integers.\n";
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;
}
}
}
补充:软件开发 , C++ ,