c++代码 高矮个子排队
时间: 2023-08-29 08:02:41 浏览: 51
C代码可以用于实现高矮个子排队的功能。首先,我们可以定义一个结构体来表示每个个子的信息,包括身高(整数类型)和姓名(字符串类型)。然后,我们可以使用数组来存储多个个子的信息。
接下来,我们可以编写一个函数来对个子进行排序。常见的排序算法可以使用冒泡排序或者快速排序等。这里以冒泡排序为例,从低到高进行排序。具体实现时,我们可以按照身高从小到大的顺序依次比较相邻两个个子的身高,如果前一个个子的身高大于后一个个子的身高,则交换两个个子的位置。这样一次冒泡排序后,最高个子就会排在最后。重复这个过程,直到所有的个子都按照身高从低到高排好序。
最后,我们可以遍历排序好的数组,按照顺序输出每个个子的姓名和身高信息。这样就实现了高矮个子排队的功能。
总结起来,使用C代码实现高矮个子排队的步骤如下:
1. 定义个子的结构体,包括身高和姓名信息。
2. 使用数组存储多个个子的信息。
3. 编写排序函数,如冒泡排序,按照身高从小到大进行排序。
4. 遍历排好序的数组,按照顺序输出每个个子的姓名和身高信息。
相关问题
银行窗口排队代码c++
下面是一个简单的银行窗口排队的C++代码示例:
```c++
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
queue<string> customers;
string name;
char option;
do {
cout << "Enter option (a=arrive, d=depart, q=quit): ";
cin >> option;
switch (option) {
case 'a':
cout << "Enter customer name: ";
cin >> name;
customers.push(name);
cout << name << " added to the queue.\n";
break;
case 'd':
if (!customers.empty()) {
cout << customers.front() << " served.\n";
customers.pop();
} else {
cout << "No customers in the queue.\n";
}
break;
case 'q':
cout << "Quitting program.\n";
break;
default:
cout << "Invalid option.\n";
}
cout << "Customers in queue: ";
if (customers.empty()) {
cout << "None";
} else {
queue<string> temp = customers;
while (!temp.empty()) {
cout << temp.front() << " ";
temp.pop();
}
}
cout << endl << endl;
} while (option != 'q');
return 0;
}
```
这段代码使用一个队列来存储排队的顾客。当一个顾客到达时,他们的名字会被添加到队列的末尾。当一个顾客离开时,他们的名字会从队列的前面移除,并打印一条消息告诉我们该顾客已经被服务。当我们要退出程序时,我们可以输入 'q'。
数据结构银行窗口排队代码c++
下面是一个使用数据结构实现银行窗口排队的C++代码示例:
```c++
#include <iostream>
#include <list>
#include <string>
using namespace std;
class Customer {
public:
string name;
int serviceTime;
Customer(string n, int t) {
name = n;
serviceTime = t;
}
};
class BankQueue {
private:
list<Customer> queue;
int totalServiceTime;
public:
BankQueue() {
totalServiceTime = 0;
}
bool isEmpty() {
return queue.empty();
}
void addCustomer(Customer c) {
queue.push_back(c);
}
void serveCustomer() {
if (!isEmpty()) {
totalServiceTime += queue.front().serviceTime;
cout << "Serving customer " << queue.front().name << " for " << queue.front().serviceTime << " seconds.\n";
queue.pop_front();
} else {
cout << "No customers in the queue.\n";
}
}
int getTotalServiceTime() {
return totalServiceTime;
}
};
int main() {
BankQueue queue;
string name;
int serviceTime;
char option;
do {
cout << "Enter option (a=arrive, d=depart, q=quit): ";
cin >> option;
switch (option) {
case 'a':
cout << "Enter customer name: ";
cin >> name;
cout << "Enter service time (in seconds): ";
cin >> serviceTime;
queue.addCustomer(Customer(name, serviceTime));
cout << name << " added to the queue.\n";
break;
case 'd':
queue.serveCustomer();
break;
case 'q':
cout << "Total service time: " << queue.getTotalServiceTime() << " seconds.\n";
cout << "Quitting program.\n";
break;
default:
cout << "Invalid option.\n";
}
} while (option != 'q');
return 0;
}
```
这段代码使用一个双向链表来存储排队的顾客。当一个顾客到达时,他们的名字和需要的服务时间会被添加到队列的末尾。当一个顾客离开时,他们的名字和服务时间会从队列的前面移除,并打印一条消息告诉我们该顾客已经被服务。当我们要退出程序时,我们可以输入 'q',并打印出总服务时间。