求救数据结构题!
设一顺序表中元素值递增有序。写一算法,将元素X插到表中适当的位置,并保持顺序表的有序性,且分析算法的时间复杂度。
从最后一个数开始比较,跟插入值相比,插入值大的,插入到该未知,否则将该值往后挪一个位置,直到插入成功,或挪了第一个为止。 1 3 5 7 9 _ 假设要插入的为6, 1 3 5 7 _ 9 比9大,9往后挪 1 3 5 _ 7 9 7往后挪 1 3 5 6 7 9 比5大,插入空的位置。 特别主意,当要插入的值是最小的时候,在第一个挪完之后,值直接插入到第一个,注意避免溢出 时间复杂为O(n)
折半查找 <= 目标元素 的元素位置 时间复杂度 因算法而定 移动元素的个数是相同的. 找到位置后.用 memcpy 一次拷贝.
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>