在linux下怎么用shell bash编程,比如怎么编一个水仙花的算法?是在终端上面直接写吗?

在linux下怎么用shell bash编程,比如怎么编一个水仙花的算法?是在终端上面直接写吗?,第1张

首先,你要有一个文本编辑器,比如 vim, emacs,或者其他你会用的编辑器,编写你的脚本程序。这是直接在终端下编写的方式。

也可以在其他机器上,比如windows上,写好程序,然后用 ftp之类的方法传到linux机器下。

最后,为了让你的程序可以执行,应该执行

chmod +x file

来让你的脚本文件 file 可执行。

正好之前写过,代码直接贴出来吧

bubble_sort.c

#include <stdio.h>

#define swap(a, b) \

(a) = (a) + (b)\

(b) = (a) - (b)\

(a) = (a) - (b)

void bubble_sort(int a[], int n)

{

int i = 0

bool change = true

for (i <n++i)

{

change = false

for (int j = ij <n - 1++j)

{

if (a[j] >a[j+1])

{

swap(a[j], a[j+1])

change = true

}

}

}

}

int main()

{

int a[] = {1, 8, 4, 5, 10, 9}

bubble_sort(a, 6)

for (int i = 0i <6++i)

{

printf("%d\t",a[i])

}

putchar((char)'\n')

return 0

}

shell_sort.c

#include <stdio.h>

#define swap(a, b) \

(a) = (a) + (b)\

(b) = (a) - (b)\

(a) = (a) - (b)

void shell_sort(int a[], unsigned int len)

{

int i, j/*two iterators*/

int increment

for (increment = len/2increment >= 1increment /=2)

{

for (i = incrementi <leni++)

{

for (j = ij >= incrementj-=increment)

{

if (a[j] >a[j - increment])

{

swap(a[j], a[j - increment])

}

}

}

}

}

int main()

{

int i /*a iterator*/

int a[] = {8, 2, 7, 6, 3, 1, 4, 10}

shell_sort(a, 8)

for (i = 0i <8i++)

{

printf("%d\t",a[i])

}

putchar((char)'\n')

}

冒泡排序和希尔排序,理论上,冒泡法的精确上界为O(n^2),希尔排序在选定好的增量时能突破这个上界。

md5sum

制作md5码的命令

也用于软件的md5校验

------

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。

在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。

1、使用md5sum来产生指纹(报文摘要)命令如下:

md5sum file >file.md5

或者

md5sum file >>file.md5

也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符*,比如某目录下有几个iso文件,要把这几个iso文件的摘要输出到iso.md5文件中,命令如下:

md5sum *.iso >iso.md5

2、使用md5报文摘要验证文件,方法有二:

把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:

md5sum -c file.md5

然后如果验证成功,则会输出:正确

win下也有md5sum软件,搜一下吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8981141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存