首页 > 其他 > 详细

王道训练营3月12日

时间:2015-03-12 14:49:07      阅读:260      评论:0      收藏:0      [点我收藏+]

找出n个数组中相同的元素

 1 int arrays_common(int arrs[][10], int cnt,  int* res, int len_res )
 2 {
 3     int* index_arr = (int*)calloc(cnt, sizeof(int));         //cnt是第一维 数组的编号
 4     int common_cnt = 0 ;                                    //result中数组的下标
 5     int max_index ;
 6     int min_val ;
 7     int min_index ;
 8     int index ;
 9     while(1)
10     {
11         for(index = 0 ; index < cnt - 1; index ++)
12         {
13             if( arrs[index][index_arr[index]] != arrs[index + 1][index_arr[index + 1]] )
14             {
15                 break ;
16             }
17         }
18         if(index < cnt - 1)
19         {
20             min_index = 0 ;
21             min_val = arrs[0][index_arr[0]] ;
22             for(index = 1; index < cnt; index ++)
23             {
24                 if(arrs[index][index_arr[index]] < min_val)
25                 {
26                     min_index = index ;
27                     min_val = arrs[index][index_arr[index]] ;
28                 }
29             }
30             index_arr[min_index] ++ ;
31         }else 
32         {
33             res[common_cnt] = arrs[0][index_arr[0]] ;
34             common_cnt ++ ;
35             for(index = 0 ; index < cnt; index ++)
36             {
37                 index_arr[index] ++ ;
38             }
39         }
40         for(max_index = 0, index = 1; index < cnt; index ++)
41         {
42             if(index_arr[index] > index_arr[max_index])
43             {
44                 max_index = index ;
45             }
46         }
47         if(index_arr[max_index] >= 10)
48         {
49             return common_cnt;
50         }
51     }
52 }

 

王道训练营3月12日

原文:http://www.cnblogs.com/qianyanglinux/p/4332176.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!