bool CNPC_Hydra::GrowFromVirtualRoot( ) { if (m_body[1].flActualLength < m_idealSegmentLength * 0.5) return false; return AddNodeAfter( 1 ); }
bool CNPC_Hydra::GrowFromMostStretched( ) { int iNode = VirtualRoot( ); int iLongest = iNode; float dist = m_idealSegmentLength * 0.5; for (iNode; iNode < m_body.Count() - 1; iNode++) { if (m_body[iNode].flActualLength > dist) { iLongest = iNode; dist = m_body[iNode].flActualLength; } } if (m_body[iLongest].flActualLength <= dist) { return AddNodeAfter( iLongest ); } return false; }
int main() { int n = -1; int flag = 0; int flag1; int save; struct Node * head; char fileName[20] = "0"; flag = SignIn(); //登陆 if(flag == 1) { head = InitLink(); //初始化 } for(;;) //各种功能 一直循环 { fflush(stdin); flag = 1; ReturnDesk(); system("clear"); ShowDesk(); fflush(stdin); scanf("%d", &n); fflush(stdin); if(n == 0) { system("clear"); FreeAllNodes(head); printf("\n\n\n\n\n\n 谢谢使用, ----made by Mr.Du 丶Lun\n\n\n\n\n\n"); getch(); exit(0); }//if if(n == 1) { system("clear"); Print(head); }//if if(n == 4) { system("clear"); head = Sort(head); printf("sort over,new info:\n\n\n"); Print(head); } if(n == 5) { system("clear"); Print(head); Insert(head); system("clear"); printf("insert over\n"); Print(head); } if(n == 6) { system("clear"); Print(head); Remove(&head); system("clear"); printf("remove over new info:\n"); Print(head); } if(n == 8) { system("clear"); Print(head); head =AddNodeBefore(head); } if(n == 9) { system("clear"); Print(head); AddNodeAfter(head); } if(n == 10) { system("clear"); printf("倒序排列为:\n"); head = Reverse(head); Print(head); } if(n == 11) { system("clear"); if(flag1 == -1) { Save_now_info(head, fileName); save = 1; } else { //printf("%d", flag); save = Save_info(head); } if(save == 1) printf("保存成功"); } if(n == 12) { system("clear"); head = Read_info(fileName); flag1 = -1; printf("\n"); Print(head); } if(n == 2) { system("clear"); Print(head); continueCreat(head); } if(n == 13) { system("clear"); ChangePasswd(); } if(n == 3) { system("clear"); flag1 = 1; head = creatNewList(); } if(n == 7) { system("clear"); ChangeScore(head); } }//死循环 getch(); }//main