public class Mergesort
{
public static void main (String [] args) throws IOException
{
BufferedReader input1, input2;
PrintWriter output;
String line;
Vector olddata = new Vector (1, 1);
Vector newdata = new Vector (1, 1);
Vector merged = new Vector (1, 1);
int index = 0;
int length = 0;
input1 = new BufferedReader (new FileReader ("phone.txt"));
line = input1.readLine ();
while (line != null)
{
olddata.addElement (line);
line = input1.readLine ();
length++;
}
input1.close ();
length = 0;
input2 = new BufferedReader (new FileReader ("customer.txt"));
line = input2.readLine ();
while (line != null)
{
newdata.addElement (line);
line = input2.readLine ();
length++;
}
input2.close ();
for (int i = 0 ; i < olddata.size () ; i++)
{
merged.addElement (olddata.elementAt (i));
}
for (int i = 0 ; i < newdata.size () ; i++)
{
merged.addElement (newdata.elementAt (i));
}
for (int x = 0 ; x < merged.size () ; x++)
{
int smallest = -1;
for (int y = x + 1 ; y < merged.size () ; y++)
{
if ((((String) merged.elementAt (y)).toLowerCase ()).compareTo (((String) merged.elementAt (x)).toLowerCase ()) < 0)
{
smallest = y;
}
}
if (smallest != -1)
{
merged.insertElementAt ((String) merged.elementAt (smallest), x);
merged.removeElementAt (smallest + 1);
merged.trimToSize ();
}
}
output = new PrintWriter (new FileWriter ("current.txt"));
for (int i = 0 ; i < merged.size () ; i++)
{
output.println (merged.elementAt (i));
}
output.close ();
}
}
Basically I read two text files into two vectors, merge the vectors together, and sort them. I think the sorting algorithm is wrong, although for my last program it worked (I transplanted it). Anybody care to help?
Hope the formatting comes out OK...
{
public static void main (String [] args) throws IOException
{
BufferedReader input1, input2;
PrintWriter output;
String line;
Vector olddata = new Vector (1, 1);
Vector newdata = new Vector (1, 1);
Vector merged = new Vector (1, 1);
int index = 0;
int length = 0;
input1 = new BufferedReader (new FileReader ("phone.txt"));
line = input1.readLine ();
while (line != null)
{
olddata.addElement (line);
line = input1.readLine ();
length++;
}
input1.close ();
length = 0;
input2 = new BufferedReader (new FileReader ("customer.txt"));
line = input2.readLine ();
while (line != null)
{
newdata.addElement (line);
line = input2.readLine ();
length++;
}
input2.close ();
for (int i = 0 ; i < olddata.size () ; i++)
{
merged.addElement (olddata.elementAt (i));
}
for (int i = 0 ; i < newdata.size () ; i++)
{
merged.addElement (newdata.elementAt (i));
}
for (int x = 0 ; x < merged.size () ; x++)
{
int smallest = -1;
for (int y = x + 1 ; y < merged.size () ; y++)
{
if ((((String) merged.elementAt (y)).toLowerCase ()).compareTo (((String) merged.elementAt (x)).toLowerCase ()) < 0)
{
smallest = y;
}
}
if (smallest != -1)
{
merged.insertElementAt ((String) merged.elementAt (smallest), x);
merged.removeElementAt (smallest + 1);
merged.trimToSize ();
}
}
output = new PrintWriter (new FileWriter ("current.txt"));
for (int i = 0 ; i < merged.size () ; i++)
{
output.println (merged.elementAt (i));
}
output.close ();
}
}
Basically I read two text files into two vectors, merge the vectors together, and sort them. I think the sorting algorithm is wrong, although for my last program it worked (I transplanted it). Anybody care to help?
Hope the formatting comes out OK...