A queue class for characters : Char « Data Types « C# / C Sharp






A queue class for characters

A queue class for characters
   
/*
C# A Beginner's Guide
By Schildt

Publisher: Osborne McGraw-Hill
ISBN: 0072133295
*/

/* 
   Project 5-2 
 
   A queue class for characters. 
*/ 
using System; 
 
class Queue { 
  public char[] q; // this array holds the queue 
  public int putloc, getloc; // the put and get indices 
 
  public Queue(int size) { 
    q = new char[size+1]; // allocate memory for queue 
    putloc = getloc = 0; 
  } 
 
  // put a character into the queue 
  public void put(char ch) { 
    if(putloc==q.Length-1) { 
      Console.WriteLine(" -- Queue is full."); 
      return; 
    } 
     
    putloc++; 
    q[putloc] = ch; 
  } 
 
  // get a character from the queue 
  public char get() { 
    if(getloc == putloc) { 
      Console.WriteLine(" -- Queue is empty."); 
      return (char) 0;  
    } 
   
    getloc++; 
    return q[getloc]; 
  } 
} 
 
// Demonstrate the Queue class. 
public class QueueDemo1 { 
  public static void Main() { 
    Queue bigQ = new Queue(100); 
    Queue smallQ = new Queue(4); 
    char ch; 
    int i; 
 
    Console.WriteLine("Using bigQ to store the alphabet."); 
    // put some numbers into bigQ 
    for(i=0; i < 26; i++) 
      bigQ.put((char) ('A' + i)); 
 
    // retrieve and display elements from bigQ 
    Console.Write("Contents of bigQ: "); 
    for(i=0; i < 26; i++) {  
      ch = bigQ.get(); 
      if(ch != (char) 0) Console.Write(ch); 
    } 
 
    Console.WriteLine("\n"); 
 
 
    Console.WriteLine("Using smallQ to generate erros."); 
    // Now, use smallQ to generate some errors 
    for(i=0; i < 5; i++) { 
      Console.Write("Attempting to store " + 
                       (char) ('Z' - i)); 
 
      smallQ.put((char) ('Z' - i)); 
 
      Console.WriteLine(); 
    } 
    Console.WriteLine(); 
 
    // more errors on smallQ 
    Console.Write("Contents of smallQ: "); 
    for(i=0; i < 5; i++) {  
      ch = smallQ.get(); 
 
      if(ch != (char) 0) Console.Write(ch); 
    } 
  } 
}

           
         
    
    
  








Related examples in the same category

1.Get char type: control, digit, letter, number, punctuation, surrogate, symbol and white spaceGet char type: control, digit, letter, number, punctuation, surrogate, symbol and white space
2.Determining If A Character Is Within A Specified RangeDetermining If A Character Is Within A Specified Range
3.Is a char in a range: Case InsensitiveIs a char in a range: Case Insensitive
4.Is a char in a range ExclusivelyIs a char in a range Exclusively
5.Using Char
6.Escape Characters
7.A stack class for charactersA stack class for characters
8.Encode or decode a message
9.Demonstrate several Char methodsDemonstrate several Char methods
10.Demonstrate the ICharQ interface: A character queue interfaceDemonstrate the ICharQ interface: A character queue interface
11.A set class for charactersA set class for characters
12.IsDigit, IsLetter, IsWhiteSpace, IsLetterOrDigit, IsPunctuation
13.Char: Get Unicode Category
14.Char.IsLowSurrogate(), IsHighSurrogate(), IsSurrogatePair() method
15.demonstrates IsSymbol.
16.Buffer for characters
17.Test an input character if it is contained in a character list.
18.Is vowel char
19.Filter letter and digit
20.First Char Upper