Personal tools
You are here: Home Projects C++ Cfront releases Release 3.0.3 source demo lang new_del.C
Document Actions

new_del.C

by Michael L Powell last modified 2007-01-26 03:20

Click here to get the file

Size 1.3 kB - File type text/plain

File contents

/*ident	"@(#)cls4:demo/lang/new_del.C	1.1" */
/*#########################################################################
#                       Copyright (c) 1989 AT&T
#                         All Rights Reserved   
#
#                THIS IS PROPRIETARY SOURCE CODE OF AT&T
#       
#                     This code has been published in
#                      C++ Primer by Stanley Lippman
#                    Addison_Wesley Publishing Company
#
#########################################################################*/
#include <iostream.h>
#include "String.h"
#include "StringList.h"

// maintain a pointer table indexed by length
const int maxLen = 25;
StringList *stbl[ maxLen ];

main() 
{ // read in and sort strings by length
     const int inBuf = 512;
     char st[ inBuf ];
     StringList *p;

     while ( cin >> st ) {
	// StringList::operator new()
        p = new StringList( st );
        int sz = p->getLen();
        if ( sz >= maxLen ) 
             continue;
        p->next = stbl[ sz ];
        stbl[ sz ] = p;
     }

     for ( int i = maxLen - 1; i > 0; --i ) {
         StringList *tp;
         p = stbl[ i ];
         while ( p != 0 ) {
            cout << *p << "\n";
            tp = p;
            p = p->next;
	    // StringList::operator delete()
            delete tp;
	} 
    } 

    return 0;
}
« July 2014 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: