1.设A=(a1,a2,…,an)和B=(b1,b2,…,bm)是两个线性表,其数据内容是整型。若n=m,且ai=bi,则称A=B; 若ai=bi,而aj<bj,则称A<B;除此以外,均称A>B。设计一比较大小的程序。
2.设计一个程序求出约瑟夫环的出列顺序。约瑟夫问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。例如,n=7,7个人的密码依次为:3,1,7,2,4,8,4,m的初值取6,则正确的出列顺序应为6,1,4,7,2,3,5。要求使用单向循环链表模拟此出列过程。
第一个
A=(a1,a2,…,an) B=(b1,b2,…,bm) flag=3; 1表示a=b 2表示 a<b 3表示a>b count =0 if(A.length==B.length){ a的长度和b的长度一样 for (int i=0;i<A.length;i++){ 比较每一个是否相等,只要有一个不相等则认为a>b if (A[i]==b[i]){ flag=2 }else { flag=3 } } if (flag==3){ for (int i=0;i<A.length;i++){ 比较每一个是否a的值都小于于b,只要有一个不小于则认为a>b if (A[i]<b[i]){ flag=2 }else { flag=3 } } } }