K******g 发帖数: 1870 | 1 给一个文件,按bit 流倒序写入另一个文件,比如说一文件有两个字节01111010-
00111011,那么新文件就是11011100-01011110。1,写出程序使内存使用最少,2,写
出程序使程序运行最快。 |
P*******b 发帖数: 1001 | 2 1.是不是可以操作文件指针来进行。
2。是不是直接存在内存里面。
【在 K******g 的大作中提到】 : 给一个文件,按bit 流倒序写入另一个文件,比如说一文件有两个字节01111010- : 00111011,那么新文件就是11011100-01011110。1,写出程序使内存使用最少,2,写 : 出程序使程序运行最快。
|
i***1 发帖数: 95 | 3 one cent:
Instead of doing reverse work for each byte.
We can have a byte[256] to store all the reverse results. |
i*****e 发帖数: 113 | 4 1) open file2 with rw
2) set file2 size to length of file1, and lseek to eof
3) read a block (2k or 4k, i.e. one page) from file1
4) reverse the bits on the block
5) find proper place and write back to file2
6) if not done, go to 3) |
t******e 发帖数: 1293 | 5 使用内存最少就是一个byte一个byte的读,放到内存,然后写到新文件
最快可能是把文件全部load到内存(假设足够),在内存里面reverse,
然后写到新文件。或者mmap()
大家拍砖
【在 K******g 的大作中提到】 : 给一个文件,按bit 流倒序写入另一个文件,比如说一文件有两个字节01111010- : 00111011,那么新文件就是11011100-01011110。1,写出程序使内存使用最少,2,写 : 出程序使程序运行最快。
|
y***d 发帖数: 2330 | 6 这个题目要求太怪;内存本来需求就不大,不知道省个什么;而全部读进内存然后再写
也未必快,比如,如果有两个硬盘,从一个读,往另一个写,那肯定希望边读边写;
【在 t******e 的大作中提到】 : 使用内存最少就是一个byte一个byte的读,放到内存,然后写到新文件 : 最快可能是把文件全部load到内存(假设足够),在内存里面reverse, : 然后写到新文件。或者mmap() : 大家拍砖
|
H****r 发帖数: 2801 | 7 利用性质:
Reverse(AB)=Reverse(B)Reverse(A)
边读边转,利用内存。
另外一个整数内bit operation reverse快点。
【在 K******g 的大作中提到】 : 给一个文件,按bit 流倒序写入另一个文件,比如说一文件有两个字节01111010- : 00111011,那么新文件就是11011100-01011110。1,写出程序使内存使用最少,2,写 : 出程序使程序运行最快。
|