p002
Home ] Up ]

 

//file: p002.cpp
//Author: AOU

#include <iostream.h>

int const MAX_SIZE = 20;

//Problem:  
//  List of values (duplicates allowed) kept in order 
//  with several operations:
//  initialize, insert, delete, modify, search, ...
//Example: 
//  {}, {50}, {25,50}, {25,36,50}, {25,36,50,76},
//  {25,36,50,76}
//Algorithms:

////////////////////////////////////////////////////////
//void initialize(int a[], int &n)
////////////////////////////////////////////////////////
/*
Description:
Initializes the list of values by setting n=0, and
a[0..MAX_SIZE-1] = 0;
Algorithm:
  n =0
  for i=0 to MAX_SIZE-1
    a[i] = 0;
*/
void initialize(int a[], int &n)
  {
  n = 0;
  for (int i=0; i<=MAX_SIZE-1; i++)
    a[i] = 0;
  }


////////////////////////////////////////////////////////
//bool insert(int a[], int &n, int x)
////////////////////////////////////////////////////////
/*
Description: inserts x into the list and maintains the order
Example: 
  {}, {50}, {25,50}, {25,36,50}, {25,36,50,76},
  {25,36,50,76}
Algorithm:
  Case0: list is full
  Case1: x goes to empty list
  Case2: x < all the values in the list
  Case3: x > all the values in the list
  Case4: x goes between two values 
  Case5: x is duplicate
*/
bool insert(int a[], int &n, int x)
  {
  if (n >= MAX_SIZE)
    return false;

  if (n == 0)
    {
    a[0] = x;
    n = 1;
    return true;
    }

  }


////////////////////////////////////////////////////////
//void display(int a[], int n)
////////////////////////////////////////////////////////
/*
Description:
Algorithm:
*/
void display(int a[], int n)
  {
  for (int i=0; i<=MAX_SIZE-1; i++)
    cout << a[i] << ' ';

  cout << endl;
  }

void main(void)
  {
  int myArray[MAX_SIZE];
  int m;

  display(myArray, m);
  initialize(myArray, m);
  display(myArray, m);
  }