ALTE DOCUMENTE
|
|||||||
Та& 23323h721x #1082; как указатели сами являются переменными, то вы вполне могли бы ожидать использования массива указателей. Это действительно так.
Sort Unix Exel Windows
alloc strcmp
строк.
Давайте отложим на некоторое время рассмотрение шага сортировки и сосредоточимся на структуре данных и вводе-выводе. Функция, осуществляющая ввод, должна извлечь символы каждой строки, запомнить их и построить массив указателей строк. Она должна также подсчитать число строк во вводе, так как эта информация необходима при сортировке и выводе. Та& 23323h721x #1082; как функция ввода в состоянии справиться только с конечным чис лом вводимых строк, в случае слишком большого их числа она может возвращать некоторое число, отличное от возможного числа строк, например
define null
define lines
main // Сортировка вводимых строк
else
printf("Input too big to sort\n");
define maxlen
readlines(char *lineptr[],int maxlines)
return(nlines);
}
writelines char lineptr int nlines
char lineptr lines
lineptr lines char lineptr[i] *lineptr[i]
Та& 23323h721x #1082; как сам lineptr writelines
writelines char lineptr int nlines
lineptr сначала указывает на первую строку; каждое увеличение передвигает указатель на следующую строку, в то время как nlines
v v n
sort char v int n
}
Та& 23323h721x #1082; как каждый отдельный элемент массива v lineptr temp
readlines line alloc
на метод быстрой сортировки.
while for
readlines main alloc
|