Структуры данных
Примеры записи и чтения из файла
Приведем фрагменты кода, в которых демонстрируется использование стандартных диалоговых панелей выбора файла и процедуры чтения и записи в файл.
Открытие файла и чтение из него
CString m_Text; :: // создание стандартной панели
выбора файла Open
CFileDialog DlgOpen(TRUE,(LPCSTR)"txt",NULL,
OFN_HIDEREADONLY,(LPCSTR)"
Text Files (*.txt) |*.txt||");
// отображение стандартной панели выбора файла Open
if(DlgOpen.DoModal()==IDOK) {
// создание объекта и открытие файла для чтения
CStdioFile File(DlgOpen.GetPathName(),
CFile::modeRead|CFile::typeBinary);
// чтение из файла строки
CString& ref=m_Text; File.ReadString(ref);
// передается ссылка на строку m_Text
}
Здесь находится рабочий код программы, выполненной для простоты в виде консольного приложения под MFC. Чтобы программа работала, не забудте сделать следующее:
Запустите программу - Build / Rebuild all ( будут ошибки ), выберите Build / Set active configuration - Win 32 Realise, выберите пункт меню "Project", далее "Settings...", закладку "C/C++", Category - Code Generation и в пункте "Use run-time library" выберите "Multithreaded". После этого сделайте опять Build / Rebuild all и программа будет работать.
Открытие файла и запись из него
CString m_Text; :: // создание стандартной панели
выбора файла SaveAs
CFileDialog DlgSaveAs(FALSE,(LPCSTR)"txt",NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
(LPCSTR)" Text Files (*.txt) |*.txt||");
// отображение стандартной панели выбора
файла SaveAs
if(DlgSaveAs.DoModal()==IDOK) {
// создание объекта и открытие файла для записи
CStdioFile File(DlgSaveAs.GetPathName(),
CFile::modeCreate|CFile::modeWrite|
CFile::typeBinary);
// запись в файл строки
File.WriteString((LPCTSTR)m_Text); }
Здесь находится рабочий код программы, выполненной для простоты в виде консольного приложения под MFC. Чтобы программа работала, не забудте сделать следующее:
Запустите программу - Build / Rebuild all ( будут ошибки ), выберите Build / Set active configuration - Win 32 Realise, выберите пункт меню "Project", далее "Settings...", закладку "C/C++", Category - Code Generation и в пункте "Use run-time library" выберите "Multithreaded". После этого сделайте опять Build / Rebuild all и программа будет работать.
Конспект лекций
Лекция 13 - 14
Древовидные структуры данных
Научный редактор доц., д-р техн. наук Л.Г. Доросинский
Екатеринбург
Содержание
1. Деревья. 3
1.1. Бинарные деревья. 6
1.2. “Прошитые” деревья. 8
1.3. Графы.. 8
2. Алгоритмы поиска путей в графе. 12
2.3. Путь минимальной суммарной длины во взвешенном графе с произвольными весами для всех пар вершин (алгоритм Флойда) 15
2.4. Нахождение K путей минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Йена) 16