翻译代码:void Find_Wait_Clinic(){ printf("诊室:\n"); stack<Patient *> temp_c; int size = clinic.size(); for (int i = 0; i < size; i++) { temp_c.push(clinic.top()); clinic.pop(); } for (int i = 0; i < size; i++) { Patient * p = temp_c.top(); temp_c.pop(); printf("%s %s %d\n", p->Name, p->sex, p->age); clinic.push(p); } printf("候诊室:\n"); size = waitting_room.size(); for (int i = 0; i < size; i++) { Patient * p = waitting_room.front(); waitting_room.pop(); printf("%s %s %d\n", p->Name, p->sex, p->age); waitting_room.push(p); } printf("\n"); }
时间: 2024-03-29 09:35:58 浏览: 92
这段代码是一个函数,名为Find_Wait_Clinic,其功能是打印出诊室和候诊室的病人信息。具体实现如下:
1. 输出字符串“诊室:”
2. 创建一个名为temp_c的指针类型为Patient的栈
3. 获取诊室中病人的数量,并将所有病人按照先进后出的顺序依次压入temp_c栈中
4. 遍历temp_c栈,依次获取每个病人的信息并打印,然后将其重新压回clinic栈中
5. 输出字符串“候诊室:”
6. 获取候诊室中病人的数量,并将所有病人按照先进先出的顺序依次取出
7. 遍历候诊室队列,依次获取每个病人的信息并打印,然后将其重新加入waitting_room队列中
8. 输出一个空行作为结束标记
相关问题
Error in GDCquery_clinic(TCGA-PAAD, clinical) : could not find function GDCquery_clinic
这 error 提示说找不到 `GDCquery_clinic` 这个函数,可能是因为你没有正确加载或安装它所在的包。这个函数通常在 `GDCquery` 包中,你可以尝试运行以下命令加载该包:
``` r
library(GDCquery)
```
如果你还没有安装该包,可以使用以下命令进行安装:
``` r
install.packages("GDCquery")
```
如果你已经安装了 `GDCquery` 包但仍然遇到问题,可能需要检查你的 R 环境或重新安装该包。
分句解释这段代码 #select samples which are common to clinical file 选择临床文件中常见的样本 for (i in cancer_types){ colname_slice(str_c(dir,'\tcga_data',i,'\normalized_rna.csv'),1,12) #cut colnames colname_slice(str_c(dir,'\tcga_data',i,'\normalized_mi.csv'),1,12) } pb <- progress_bar$new(total = length(cancer_types)) for (i in cancer_types){ #intersect rna and clinical df<-read.csv(str_c(dir,'\tcga_data',i,'\normalized_rna.csv'),row.names = 1, check.names = F) df<-df[,!duplicated(colnames(df))] clinic<-read.csv(str_c(dir,'\tcga_data',i,'\TCGA-',i,'-clinical.csv'),row.names = 1, check.names = F) inter<-intersect(colnames(df),clinic[,1]) df<-df[,colnames(df)%in%inter] write.csv(df,str_c(dir,'\tcga_data',i,'\normalized_rna.csv'),quote = F) #intersect miRNA and clinical df<-read.csv(str_c(dir,'\tcga_data',i,'\normalized_mi.csv'),row.names = 1, check.names = F) df<-df[,!duplicated(colnames(df))] inter<-intersect(colnames(df),clinic[,1]) df<-df[,colnames(df)%in%inter] write.csv(df,str_c(dir,'\tcga_data',i,'\normalized_mi.csv'),quote = F) clinic<-clinic[clinic[,1]%in%inter,] write.csv(clinic,str_c(dir,'\tcga_data',i,'\TCGA-',i,'-clinical.csv'),quote = F) pb$tick() } rm(df,clinic,inter,dt)
这段代码的作用是从临床文件中选择常见的样本。首先,使用一个循环遍历变量 `cancer_types` 中的每个元素。在循环内部,通过 `colname_slice()` 函数提取文件路径,并使用 `read.csv()` 函数读取两个不同的文件(normalized_rna.csv 和 normalized_mi.csv),其中 `row.names = 1` 表示将第一列作为行名,`check.names = F` 表示不检查列名。
然后,通过交集操作找到两个数据集中共同存在的列名,并将其保留在数据框 `df` 中。接着,使用 `write.csv()` 函数将 `df` 数据框写入相应的文件路径中。
最后,通过一个进度条对象 `pb` 跟踪循环的进度,并在每次循环迭代中更新进度。循环结束后,使用 `rm()` 函数删除不再需要的变量。
总结起来,这段代码的目标是选择临床文件和两个数据集中共同存在的样本,并将处理后的数据保存到对应的文件中。
阅读全文