提交 ee46c7fc 创建 作者: 宋海霞's avatar 宋海霞

modify

上级 57fa9c72
#ifndef SORTOBJECT_H_ #ifndef SORTOBJECT_H_
#define SORTOBJECT_H_ #define SORTOBJECT_H_
// //
// Include the C standard library header file here // Include the C standard library header file here
// //
#include <stdio.h> #include <stdio.h>
// //
// Other header files are included here // Other header files are included here
// //
// //
// Define the data structure here // Define the data structure here
// //
typedef struct _SortObject{ typedef struct _SortObject
int length; // The actual length of the linear table, the number of elements in the linear table. {
int* Elements; // Arrays are used to store elements in linear tables. int length; // The actual length of the linear table, the number of elements in the linear table.
int* Elements; // Arrays are used to store elements in linear tables.
}SortObject; }SortObject;
// //
...@@ -31,10 +28,8 @@ typedef struct _SortObject{ ...@@ -31,10 +28,8 @@ typedef struct _SortObject{
void Sift(SortObject* List, int size, int p); void Sift(SortObject* List, int size, int p);
void HeapSort(SortObject* List); void HeapSort(SortObject* List);
// //
// Declare global variables here // Declare global variables here
// //
#endif /* SORTOBJECT_H_ */ #endif /* SORTOBJECT_H_ */
#include "SortObject.h" #include "SortObject.h"
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
int i; int i;
...@@ -13,15 +12,17 @@ int main(int argc, char* argv[]) ...@@ -13,15 +12,17 @@ int main(int argc, char* argv[])
int n = sizeof(InitList) / sizeof(InitList[0]); // Calculate the linear table length int n = sizeof(InitList) / sizeof(InitList[0]); // Calculate the linear table length
List.Elements = (int*)malloc(sizeof(int) * n); List.Elements = (int*)malloc(sizeof(int) * n);
List.length = n; List.length = n;
for(i=0; i < List.length; i++) for (i=0; i < List.length; i++)
{
List.Elements[i] = InitList[i]; List.Elements[i] = InitList[i];
}
// //
// Heap sort // Heap sort
// //
HeapSort(&List); HeapSort(&List);
for(i=0; i < List.length; i++) for (i=0; i < List.length; i++)
{ {
printf("%d ", List.Elements[i]); printf("%d ", List.Elements[i]);
} }
...@@ -38,7 +39,8 @@ function: ...@@ -38,7 +39,8 @@ function:
parameter: parameter:
List -- Linear table pointer List -- Linear table pointer
size -- The number of elements in the linear table used to construct the large root heap size -- The number of elements in the linear table used to construct the large root heap
i -- Specifies the starting position of the element that starts building the large root heap.Count from 0. i -- Specifies the starting position of the element
that starts building the large root heap.Count from 0.
returned value: returned value:
empty empty
...@@ -67,7 +69,8 @@ void HeapSort(SortObject* List) ...@@ -67,7 +69,8 @@ void HeapSort(SortObject* List)
{ {
int i = 0; // The cursor int i = 0; // The cursor
int size = List->length; // The number of elements in a linear table int size = List->length; // The number of elements in a linear table
int HeapSize = 0; // The number of elements in the linear table used to construct the large root heap // The number of elements in the linear table used to construct the large root heap
int HeapSize = 0;
// //
// TODO: Add the code here // TODO: Add the code here
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论