Обновить sk1/compressor.c
This commit is contained in:
		
							parent
							
								
									ce5c50d78c
								
							
						
					
					
						commit
						0c18bdde02
					
				| @ -149,7 +149,12 @@ void generateCodes(HuffmanNode* root, char* arr, int top, char** codes) { | ||||
|         codes[root->data] = strdup(arr); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void free_huffman_tree(Node* root) { | ||||
|     if (!root) return; | ||||
|     free_huffman_tree(root->left); | ||||
|     free_huffman_tree(root->right); | ||||
|     free(root); | ||||
| } | ||||
| // Function to compress a file
 | ||||
| int compress_1(const char* input_file, const char* output_file) { | ||||
|     FILE* input = fopen(input_file, "rb"); | ||||
| @ -216,6 +221,7 @@ int compress_1(const char* input_file, const char* output_file) { | ||||
| 
 | ||||
|     fclose(input); | ||||
|     fclose(output); | ||||
|     free_huffman_tree(root); | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| @ -282,6 +288,6 @@ int decompress_1(const char* input_file_name, const char* output_file_name) { | ||||
| 
 | ||||
|     fclose(input); | ||||
|     fclose(output); | ||||
| 
 | ||||
|     free_huffman_tree(root); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user