Java数据结构舞伴问题

假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队,一次从男队和女队的对头上各出一人配成舞伴。打印输出每一对舞伴的名字和性别。若两队人数不相同,则配对结束后输出较长的队中剩余的人数。

第1个回答  2016-11-09
import java.util.ArrayList;
import java.util.List;

public class Person {

private String name;

private Integer sex;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getSex() {
return sex;
}

public void setSex(Integer sex) {
this.sex = sex;
}

/*测试*/
public static void main(String[] args) {
/*定义数据*/
Person m1 = new Person();
m1.setName("男士1");
m1.setSex(1);

Person m2 = new Person();
m2.setName("男士2");
m2.setSex(1);

Person m3 = new Person();
m3.setName("男士3");
m3.setSex(1);

List<Person> mans = new ArrayList<Person>();
mans.add(m1);
mans.add(m2);
mans.add(m3);

Person l1 = new Person();
m1.setName("女士1");
m1.setSex(2);

Person l2 = new Person();
m2.setName("女士2");
m2.setSex(2);

List<Person> ladys = new ArrayList<Person>();
ladys.add(l1);
ladys.add(l2);
/*定义数据*/

int diff = mans.size() - ladys.size();

if(diff>0){
for(int i=ladys.size();i<mans.size();i++){
String username = mans.get(i).getName();
System.out.println(username);
}
}else{
for(int i=mans.size();i<ladys.size();i++){
String username= ladys.get(i).getName();
System.out.println(username);
}

}

}
}本回答被提问者和网友采纳

数据结构舞伴问题输入的形式和输入值的范围?
数据结构舞伴问题的输入形式为一个数组,数组中的元素表示每个参加舞会的人的性别。通常使用 0 表示男性,1 表示女性。例如,以下数组表示有 5 个人参加舞会,其中前三个人是男性,后两个人是女性:[0, 0, 0, 1, 1]在实际应用中,还可以在数组中存储其他的信息,如姓名、年龄、身高等,以便更好...

关于舞伴问题,数据结构高手请进!
在%c后面加一个\\n;如果还不行的话就在随便定义一个变量加在输入的最后,这个随便取的变量用来存储你最后确定时按得回车键,你用%c不行的原因就是因为最后确认时按得回车也写进去了~

Java数据结构舞伴问题
import java.util.ArrayList;import java.util.List;public class Person { private String name;private Integer sex;public String getName() { return name;} public void setName(String name) { this.name = name;} public Integer getSex() { return sex;} public void setSex(Integer sex)...

数据结构舞伴配对问题
你循环队列是怎么实现的,d:\\jiatingting\\app0304\\sqqueue.h(92) : error C2440: '=' : cannot convert from 'struct Person' to 'int',类型不符合,检查下头文件的类型

栈和队列在项目中的应用
先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型的先进先出特性,可用队列作为算法的数据结构。在算法中,假设男士和女士的记录存放在一个数组中作为输入,然后依次扫描该数组的各元素,并根据性别来决定是进入男队还 是女队。当这两个队列构造完成之后,依次将两队当前的队头元素出队来配成...

求数据结构C++舞伴配对问题程序代码
int main(){list<dancer>Mdancer; \/\/定义dancer类链表,保存男舞者信息 list<dancer>Fdancer; \/\/定义dancer类链表,保存女舞者信息while(m)\/\/输入舞者信息{dancer person; \/\/定义临时dancer变量,保存输入信息person.input(); if(person.sex!="男"&&person.sex!="女") \/\/判断输入性别是否...

队列的应用实例
问题分析  先入队的男士或女士亦先出队配成舞伴 因此该问题具体有典型的先进先出特性 可用队列作为算法的数据结构  在算法中 假设男士和女士的记录存放在一个数组中作为输入 然后依次扫描该数组的各元素 并根据性别来决定是进入男队还是女队 当这两个队列构造完成之后 依次将两队当前的队头元素...

pascal假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞...
var s1,s2:string; i,j,k:integer;begin readln(s1); readln(s2);j:=length(s1); k:=length(s2);if j>k then begin i:=j; j:=k; k:=i end;write(s1[1],s2[1]);for i:=2 to j do write(' ',s1[i],s2[i]);writeln;writeln(k-i);if length(s1)<length(s2) then ...

C++数据结构课程设计,寻找舞伴
你的算法有问题啊... 需要的是方形的空地... 而不是方形的边框啊~就算是方形的边框... 你也只检验了两条边... = =|| 附一个正确的代码 (算法是DP)include <iostream> using namespace std;struct node { int rl;int dl;int available;int maximun;};int main(){ int m,n;node** ...

栈和队列数据结构的特点,什么情况下用到栈,什么情况下用到队列(各举3...
队列:特点就是一个先进先出的结构。\/\/一般只要你满足这个特点就可以称之为栈或队列。栈的应用:非常广泛,在CPU内部就有提供栈这个机制。主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等。在CPU内部栈主要是用来进行子程序调用和返回,中断时数据保存和返回。在编程语言中:主要用来进行...

相似回答