查数字的函数
查数字的函数
在编程中,我们经常需要查一个数组中的数字,或者在一段文本中查数字。这时就需要使用查数字的函数。查数字的函数通常有两种:一种是针对数字数组的查函数,另一种是针对文本的查函数。本文将分别介绍这两种查数字的函数。
一、针对数字数组的查函数
针对数字数组的查函数主要包括以下几种:
1. 线性查
线性查是最简单的查方法,通过一个一个地比较数字来定位目标数字。这种方法的优点是代码简单易懂,缺点是效率低下。当数字数组比较大时,线性查的时间复杂度为O(n)。
下面是一个线性查函数的示例代码:
```cint LinearSearch(int arr[], int n, int k){    for (int i = 0; i < n; i++)    {        if (arr[i] == k)        {            return i;        }    }    return -1;}```
此函数接受三个参数:一个整数数组arr、数组中元素的数量n,以及要查的数字k。它返回k在数组中的下标,如果不存在则返回-1。查符合两个条件之一的字符串函数
2. 二分查
二分查是一种更高效的查方法,它利用数字数组已经排好序这一条件,通过不断缩小查范围来定位目标数字。这种方法的时间复杂度为O(log n)。
下面是一个二分查函数的示例代码:
```cint BinarySearch(int arr[], int n, int k){    int left = 0;    int right = n - 1;        while (left <= right)    // 注意这里是小于等于号    {        int mid = (left + right) / 2;                if (arr[mid] == k)        {            return mid;        }        else if (arr[mid] < k)        {            left = mid + 1;        }        else        {            right = mid - 1;        }    }        return -1;}```
此函数接受三个参数:一个整数数组arr、数组中元素的数量n,以及要查的数字k。它返回k在数组中的下标,如果不存在则返回-1。
二、针对文本的查函数
针对文本的查函数主要包括以下几种:
1. 正则表达式
正则表达式是一种强大的文本匹配工具,在查数字方面也非常实用。通过正则表达式,我们可以很方便地查数字、小数、科学计数法等形式的数字。
下面是一个使用正则表达式查数字的示例代码:
```pythonimport re
text = "The price is $9.99. The quantity is 10. The total is $99.90."pattern = r"\d+(\.\d+)?"
result = re.findall(pattern, text)
print(result)  ```
此代码使用re模块中的findall函数来查数字。正则表达式pattern中包含了一个\d+匹配一个或多个数字,以及一个(\.\d+)?匹配一个小数部分(可选)。程序输出为:['9.99', '10', '99.90']。
2. 字符串操作
除了正则表达式,我们还可以使用字符串操作来查数字。如果文本中只有一个数字,则可以使用字符串中的isdigit()函数来判断字符是否为数字;如果文本中有多个数字,则可以使用循环遍历文本,逐个判断每个字符是否为数字,并将这些字符拼接成一个数字。
下面是一个使用字符串操作查数字的示例代码:
```pythontext = "The price is $9.99. The quantity is 10. The total is $99.90."num_list = []
for i in range(len(text)):    if text[i].isdigit():        num_str = text[i]        for j in range(i+1, len(text)):            if text[j].isdigit() or text[j] == ".":                num_str += text[j]                i = j            else:                break        num_list.append(float(num_str))
print(num_list)```
此代码使用循环遍历文本,逐个判断每个字符是否为数字,并将这些字符拼接成一个数字。程序输出为:[9.99, 10.0, 99.9]。
总结
本文介绍了针对数字数组和文本的查数字的函数,分别包括线性查、二分查、正则表达式和字符串操作。不同的方法适用于不同的情况,需要根据实际需要选择合适的方法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。