3->1->0 0->3 1->0 2->0 3->2
//9085ANSWER CODE1 #include
struct arcNode{int adjvex;arcNode *next;};
struct vertexNode{char vertex;arcNode *firstedge;}; void main()
{ int n,e,i,j,k,f=0;char vex[20];vertexNode adjlist[20];arcNode *s,*p; while(cin>>n>>e>>vex) { if(f)cout< } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一次实验:顺序表9010,9005 9010:拆分顺序表 Problem Description 有一顺序表A,请将其拆分成两个顺序表B和C,使A中大于0的元素存放在B中,小于或等于0的元素存放在C中。 Input 有多组数据,每组第一行表示A表长n(0 将顺序表B和C的元素分两行输出,每行中相邻两元素之间用一个空格分隔,空表则不输出任何信息。 Sample Input 9 11 3 -3 3 -4 0 -2 6 32 Sample Output 11 3 3 6 32 -3 -4 0 -2 //9010ANSWER CODE1 #include } 9005:最长相等子序列长度 Problem Description 给定一个有n个元素的整数数组b,b中连续的相等元素构成的子序列称为平台。设计一个算法求b中最长平台的长度。 Input 第一行为一个数字m,表示下面有m组数据,每组数据包括2行;每组数据中的第一行表示数组的长度n(不会超 过20,但可为空表),第二行表示数组的所有元素。 Output 输出最长平台的长度。 Sample Input 2 8 11 3 8 8 8 8 8 7 10 11 3 3 25 8 8 8 8 8 7 Sample Output 5 5 //9005ANSWER CODE1 #include 第二次实验:顺序表2 9097 9097:杀猪!! Problem Description 一户人家养了一群猪(n头,编号1,2,3....n),每头猪都有自己初始体重w(double)和体重增长率x。每天猪的体重都会 发生变化,是胖是瘦取决于体重增长率,体重增长率为负,变瘦,为正,变胖。(体重增长率:double,-0.2 输入数据有多组,每组数据第一行为猪的头数n(0 第二行为n头猪的体重 第三行为n头猪的体重增长率 Output 按先后被杀的顺序输出猪的编号。每组输出数据,输出一行,编号之间用逗号隔开 Sample Input 6 4 32 99 3 2 45 0.1 -0.15 0 -0.19 0.19 -0.04 Sample Output 3,6,2,1,5,4 //9097ANSWER CODE1 #include int n,i,j,flag,maxi;double max;//max一定是double类型 while(cin>>n) { if(n<=50 && n>0) { double * pw=new double[n+1]; double * px=new double[n+1]; for(i=1;i<=n;i++)cin>>pw[i]; for(i=1;i<=n;i++)cin>>px[i]; flag=1; for(j=1;j<=n;j++) { max=0;maxi=0; for(i=1;i<=n;i++){if(pw[i]>max){max=pw[i];maxi=i;}} if(flag==1){cout< return 0; } 第三次实验:单链表9007 9007:单链表按值操作 Problem Description 对值递增有序的单链表进行以下操作:若表中存在值为x的结点,则将它从表中删除;否则,就往表中插入一个值为x的结点,并保持表值递增有序的性质不变(假设表中没有值相同的元素)。处理后若为空表则不输出。 Input 每组数据包括3行,第一行表示单链表的长度n(不会超过50);第二行表示单链表的所有元素;第三行表示x值。 Output 输出执行操作后的单链表,元素之间用一个空格分隔。 Sample Input 5 1 3 5 7 9 3 5 1 3 5 7 9 4 Sample Output 1 5 7 9 1 3 4 5 7 9 //9007ANSWER CODE1 #include struct Node{ int data; Node * next;}; int main(){ int i,n,x,A[51]; Node *p,*first,*q,*r,*s; while(cin>>n){ if(n==0){ cin>>x; cout<