之前自己想出来一个排序算法,想问一下这个算法是否已知。
用一个vis[]数组记录原序列a[]中每一个数有没有被挑选过,然后循环nnn次,每次先将一个变量k设为无穷大/负无穷大,再定义变量idx,然后遍历原序列。
vis[]
a[]
k
idx
如果当前元素a[i]未被标记用直接比较法将a[i]与k比较,如果a[i]大于k,那么k=a[i],idx=i;每一轮循环结束后,将vis[idx]标记为1.
a[i]
k=a[i],idx=i;
vis[idx]
时间复杂度O(n2)O(n^2)O(n2)。