标签:
> 分析
1 #include "stdio.h" 2 3 int main(void) 4 { 5 char seqs[100][50 + 1] = {0} ; 6 int inversions[100] = {0} ; 7 int sortSeqs[100] = {0} ; 8 int tmp = 0 ; 9 int seqNum = 0 ; 10 int seqLen = 0 ; 11 int i = 0, j = 0, k = 0 ; 12 int min = 0 ; 13 14 scanf("%d %d", &seqLen, &seqNum) ; 15 16 for(i = 0; i < seqNum; i++) 17 { 18 scanf("%s", seqs[i]) ; 19 20 for(j = 0; j < seqLen; j++) 21 for(k = j + 1; k < seqLen; k++) 22 { 23 if(seqs[i][k] < seqs[i][j]) 24 inversions[i]++ ; 25 } 26 27 sortSeqs[i] = i ; 28 } 29 30 /* 插入排序 */ 31 for(i = 0; i < seqNum; i++) 32 { 33 min = i ; 34 for(j = i + 1; j < seqNum; j++) 35 { 36 if(inversions[sortSeqs[j]] < inversions[sortSeqs[min]]) 37 min = j ; 38 } 39 40 tmp = sortSeqs[i] ; 41 sortSeqs[i] = sortSeqs[min] ; 42 sortSeqs[min] = tmp ; 43 } 44 45 for(i = 0; i < seqNum; i++) 46 printf("%s\r\n", seqs[sortSeqs[i]]) ; 47 48 return 0 ; 49 }
POJ-1007: DNA Sorting 详解1: 插入排序法
标签:
原文地址:http://www.cnblogs.com/codesworld/p/4715198.html