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

modify

上级 f0ef20eb
......@@ -2,11 +2,11 @@
/*
功能:
初始化栈。
function:
Initialize the stack.
参数:
pS -- 栈的指针
parameter:
pS -- The stack pointer
*/
void InitStack(Stack* pS)
{
......@@ -14,47 +14,47 @@ void InitStack(Stack* pS)
}
/*
功能:
将元素入栈。
function:
Push elements on the stack.
参数:
pS -- 栈的指针
Elem -- 入栈的元素
parameter:
pS -- The stack pointer
Elem -- Pushed elements
返回值:
如果插入成功返回入栈元素的值。
如果插入失败返回 -1。
returned value:
Returns the value of the pushed element if the insert succeeds.
Returns -1 if insert fails.
*/
int Push(Stack* pS, int Elem)
{
//
// 栈满,入栈失败。
// Stack full, push failed.
//
if(MAX_STACK_LENGTH-1 < pS->top)
return -1;
pS->top++;
pS->buffer[pS->top] = Elem; // 将元素插入栈顶
pS->buffer[pS->top] = Elem; // Insert the element at the top of the stack
return Elem;
}
/*
功能:
将栈顶元素出栈
function:
Pop the top element of the stack
参数:
pS -- 栈的指针
parameter:
pS -- The stack pointer
返回值:
如果出栈成功返回出栈元素的值。
如果出栈失败返回 -1。
returned value:
If the pop succeeds, the value of the pop element is returned.
Returns -1 if pop fails.
*/
int Pop(Stack* pS)
{
int Elem;
//
// 栈为空,出栈失败
// The stack is empty and the pop fails
//
if(StackEmpty(pS))
return -1;
......@@ -66,15 +66,15 @@ int Pop(Stack* pS)
}
/*
功能:
判断栈是否为空。
function:
Determines whether the stack is empty.
参数:
pQ -- 栈的指针
parameter:
pQ -- The stack pointer
返回值:
如果栈空返回 1(真)
如果栈非空返回 0(假)
returned value:
Returns 1 if stack is empty.
Returns 0 if the stack is not empty.
*/
int StackEmpty(Stack* pS)
{
......
......@@ -13,7 +13,7 @@ int main(int argc, char* argv[])
InitGraph(&Graphlist);
//
// 调用 InitStack 函数初始化栈
// Call the InitStack function to initialize the stack
//
InitStack(&stack);
......@@ -33,10 +33,10 @@ int main(int argc, char* argv[])
}
/*
功能:
function:
求图中所有顶点的入度
参数:
parameter:
pGraphList -- 图指针
*/
......@@ -44,31 +44,31 @@ void FindInDegree(GraphList *pGraphList)
{
//
// TODO: 在此添加代码
// TODO: Add the code here
//
}
/*
功能:
function:
拓扑排序
参数:
parameter:
pGraphList -- 图指针
返回值:
returned value:
如果排序成功返回 1
如果排序失败返回 0
*/
int TopoSortResult[MAX_VERTEX_NUM]; // 存储排序结果(下标)的数组
int ResultLength = 0; // 存储排序结果(下标)的数组的长度
int ResultLength = 0; // The length of the array that stores the sorted result (subscript)
int TopoSort(GraphList *pGraphList)
{
EdgeNode* pEdgeNode; // 边(弧节点指针
int i, k; // 游标
EdgeNode* pEdgeNode; // 边(弧节点指针
int i, k; // The cursor
//
// TODO: 在此添加代码
// TODO: Add the code here
//
return 0;
......@@ -76,15 +76,15 @@ int TopoSort(GraphList *pGraphList)
/*
功能:
function:
使用给定的数据初始化图的邻接表
参数:
parameter:
pGraphList -- 图指针
*/
typedef struct VertexArrayEntry {
const char* name; // 顶点名称。NULL 表示顶点序列结束。
int VexIndex[MAX_VERTEX_NUM]; // 与该顶点邻接的顶点序列。-1 表示序列结束。
const char* name; // 顶点名称.NULL 表示顶点序列结束.
int VexIndex[MAX_VERTEX_NUM]; // 与该顶点邻接的顶点序列.-1 表示序列结束.
}VertexArrayEntry;
const VertexArrayEntry VertexArray[] = {
{ "C1", {2, 1, 3, 11, -1}},
......@@ -104,8 +104,8 @@ const VertexArrayEntry VertexArray[] = {
void InitGraph(GraphList* pGraphList)
{
int i, j; // 游标
EdgeNode** pEdgeNodePtr; // 指向边(弧节点指针的指针
int i, j; // The cursor
EdgeNode** pEdgeNodePtr; // 指向边(弧节点指针的指针
//
// 重置图中的数据 length
......@@ -117,12 +117,12 @@ void InitGraph(GraphList* pGraphList)
//
for(i=0; i<MAX_VERTEX_NUM ;i++)
{
if(NULL == VertexArray[i].name) // 顶点名称。NULL表示顶点序列结束。
if(NULL == VertexArray[i].name) // 顶点名称.NULL表示顶点序列结束.
break;
pGraphList->vexlist[i].name = VertexArray[i].name;
pEdgeNodePtr = &pGraphList->vexlist[i].firstarc; // 使指针指向顶点数组(初始化指针的位置
pEdgeNodePtr = &pGraphList->vexlist[i].firstarc; // 使指针指向顶点数组(初始化指针的位置
for(j=0; j<MAX_VERTEX_NUM; j++)
{
if(-1 == VertexArray[i].VexIndex[j])
......@@ -141,10 +141,10 @@ void InitGraph(GraphList* pGraphList)
}
/*
功能:
function:
销毁图
参数:
parameter:
pGraphList -- 图指针
*/
void DeleteGraph(GraphList* pGraphList)
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论