Switch to full style
C++ code examples
Post a reply

String Sort

Thu Nov 13, 2008 6:07 pm

Strings sorting using C++
cpp code
#include <stdio.h>
#include <string.h>

/*
* Program to read a list of strings from standard input and print them in
* sorted order. This uses a simple selection sort.
*/

#define MAX_STRING_SPACE 1000
#define MAX_NUM_STRINGS 250
#define MAX_STRING_SIZE 50
int main(void)
{
/* Where the general string contents are stored. */
char string_space[MAX_STRING_SPACE];

/* The start of each string. */
char *strings[MAX_NUM_STRINGS];

/* Read the strings. */
char buf[MAX_STRING_SIZE];
char *next_space = string_space;
int inloc = 0;
while(scanf("%s", buf) == 1) {
/* Find the length of the string and see if it fits. */
int length = strlen(buf) + 1;
if(next_space + length >= string_space + MAX_STRING_SPACE)
break;
if(inloc >= MAX_NUM_STRINGS)
break;

/* Place the string into the structure. */
strings[inloc++] = next_space;
strcpy(next_space, buf);
next_space += length;
}

printf("--------------------------------------------------\n");

/* Perform the sort. Outer loop goes through destination of the
minimum string. */
int strloc;
for(strloc = 0; strloc < inloc - 1; ++strloc) {
/* Scan the remaining strings for ones smaller. */
int scan;
for(scan = strloc + 1; scan < inloc; ++scan) {
if(strcmp(strings[strloc], strings[scan]) > 0) {
/* Exchange the strings. */
char *tmp = strings[strloc];
strings[strloc] = strings[scan];
strings[scan] = tmp;
}
}
}

/* Print 'em. */
for(strloc = 0; strloc < inloc; ++strloc) {
printf("%s\n", strings[strloc]);
}
}




Post a reply
  Related Posts  to : String Sort
 recursive string reversal- reverse string     -  
 check if string ends with specific sub-string in php     -  
 check if string start with a specific sub-string in PHP     -  
 Splitting a String Based on a Found String     -  
 String token for string split     -  
 Array sort     -  
 sort words in c++     -  
 Insertion Sort (C++)     -  
 C++ Bubble Sort     -  
 Sort a list     -  

Topic Tags

C++ Sorting, C++ Strings