在100万个数中找到最大的十个数
需要考虑的情况是100万个数都一样,100万个数不一样,但是最大的10个数不止10个而已。
下面的算法没有考虑到这些情况:
int[] b = new int[1000 * 1000];//定义100万个数据
public string Find_Ten_Max(b) { int[] max_Num = new int[10]; //找到最大的值 max_Num[0] = b[0]; for (int i = 0; i <b.Length - 1; i++) { int j = 0; do { if (max_Num[j] < b[i]) { max_Num[j] = b[i]; max_Num[j + 1] = max_Num[j]; } j++; } while (j <max_Num.Length-1); if (j == max_Num.Length - 1) { max_Num[j]=b[i]; } } StringBuilder sb = new StringBuilder(); sb.Append("最大的十个数是:"); for (int i = 0; i <= max_Num.Length - 1; i++) { sb.Append(max_Num[i]).Append(","); } return sb.ToString(); }