永发信息网

(求每一行算法的解释,比较简单的就不用了)DNA Sorting

答案:1  悬赏:0  手机版
解决时间 2021-01-27 16:07
(求每一行算法的解释,比较简单的就不用了)DNA Sorting
最佳答案
题目的大致意思你知道的吧,目的是整理一段含(A,T,C,G)序列的DNA,标准是``sortedness'',中文暂时叫“有序程度”。

typedef struct //定义一个结构体
{
string dna; //定义DNA序列
int count; //DNA序列的“有序程度”,用一个整数表示
}DNA;
DNA dna[101]; //定义101个dna类型的结构体
int cmp(const void *a,const void *b) //比较两个dna序列的“有序程度“
{
DNA *aa = (DNA *)a;
DNA *bb = (DNA *)b;
return aa->count-bb->count;
}
int main()
{
int n,m;
char c;
cin>>n>>m; //输入DNA序列长度和个数
for(int i = 0; i < m; i++)
{
cin>>dna[i].dna; //输入第i个DNA序列的内容
dna[i].count = 0; //“有序程度“初始化为0
for(int j = 0; j < n; j++)
for(int k = j+1; k < n; k++) //第i个序列里,比较第j个字母和它之后的所有字母
{
if(dna[i].dna[j]>dna[i].dna[k]) //如果j之后第k个字母比第j个字母小
dna[i].count++; //“有序程度”+1
}
}
qsort(dna,m,sizeof(dna[0]),cmp); //对m个DNA序列的有序程度排序(这个程序没具体代码没办法具体说)
for(int i = 0; i < m; i++)
cout< return 0;追问int cmp(const void *a,const void *b) //比较两个dna序列的“有序程度“
{
DNA *aa = (DNA *)a;
DNA *bb = (DNA *)b;
return aa->count-bb->count;
}

题目的大致意思我明白。就是这一段不是太懂,麻烦你给我详细说一下啦~追答函数的参数是两个空指针,函数里定义了两个指向结构体的指针,赋值时是把参数强制转换为dna结构体类型。然后比较两个结构体里count值的大小。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
附近中国移动营业厅
侵掠的意思是什么啊?知道的请说下!
蓝格桌球(定西路店)地址在什么地方,想过去办
欢乐喜剧人文松开头唱的什么歌
江准轻卡康钤怎么样?
CAXA怎样将画好的图存入图库里
如何买到 欢迎来到实力主义至上的教室 小说的
离鸿的意思是什么啊?知道的请说下!
怎样和拉面?
高中英语人民教育出版社的英语必修三单词表,
请问最能轰动全世界的事情是什么事情。
primacy3st浩悦轮胎怎么样
属虎的女孩找什么属相的好
怎么下载不上QQ软件,提示为电脑不是windows3
初长成的意思
推荐资讯
中国平安人寿保险万能险刚买觉得不合适如何退
兰山区财政局地址在哪,我要去那里办事
重庆舒畅宾馆地址有知道的么?有点事想过去
聚鑫缘家居城地址在什么地方,想过去办事
剖心析肝的意思是什么啊?知道的请说下!
有谁做过果酸换肤?有效果吗?
看看什么字
我想你的手语
腊会的意思是什么啊?知道的请说下!
天津到涞水的长途汽车有没有?几点发车
包头2016年社保交多少钱
听见下雨的声音票房最终多少最新票房统计不断
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?