//6****************************************************** //构造N 个结点的单链表返回链表头指针,要求链表中各结点顺序 //与结点数据输入顺序相反,例如输入 1,2,3,4,5,形成的链表为 //head->5 4 3 2 1 ,补充程序 #define N 10 typedef struct Node { int data; struct Node*next; }NODE; int Get_Data(int i);//定义省略 Node*Create_u() { int i; NODE*p,*Head=NULL; for(i=0;iData=Get_Data(i); ___ p->nex t = Head->nex t; ______ Head =p _____; } return Head; } //7********************************************** //N 个结点链表,每个结点中存放一个字符,判断链表存放的字符是否 //中心对称,即 a b c c b a 或 a b c b a,补充程序 typedef struct Node { int data; struct Node*next; }NODE; bool Is_symmeic(NODE*head,*int n) { char D[N]; int i,d; _____d=n /2 ___; for(i=0;idata; head=head->next; } if(_____head!=NULL&&_ 1==n %2___) { head=head->next; } while(head) { _____ --i __________; if(D[i]!=head->data) { return false; } head=head->next; } return true; } //8************************************* //str 中只含有大写和小写字母函数 change_move(char*str)将字符串中大写改成*并 //移到前面小写后返回*的个数 //如AabBdcYY 改为*****abd,返回5 int chang_move(char*str) { int len,i,curstr=-1; len=strlen(str); for(i=len-1;i>=0;i--) { if(str[i]>='A'&&str[i]<='Z') { str[i]='*'; if(cursor==-1) { cursor=i; } else if(cursor>i) { _____________; str[i]='*'; _____________; } } return____________; } //9*********************************************** //求两个字符串的第一个公共子串,并返回该子串 //如:"a b c d e f g e h i" "a a c d e f * * g e h i" //第一个为"c d e f";不许用 strcmp() char*Maxf(char*str1,char*str2) { } 3.二维数组空间的动态申请 a.简单的,已经有一维,如 char (*c)[5]; c=new char[n][5];//n为已定义的行数 b.二维的 int **p; p=new int*[m_row];//创建行指针 for(int i=0;i