已知长度为 n 的线性表 A 中的元素是整数, 写算法求线性表中值大于 item 的元素个数。分两种情况编写函数: (1) 线性表采用顺序存储; (2) 线性表采用单链表存储。的代码
时间: 2023-06-02 09:08:23 浏览: 370
已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同)
(1) 线性表采用顺序存储的代码:
```
int countGreater(int A[], int n, int item){
int count = 0;
for(int i = 0; i < n; i++){
if(A[i] > item){
count++;
}
}
return count;
}
```
(2) 线性表采用单链表存储的代码:
```
struct ListNode{
int val;
ListNode* next;
ListNode(int x): val(x), next(NULL){}
};
int countGreater(ListNode* head, int item){
int count = 0;
while(head){
if(head->val > item){
count++;
}
head = head->next;
}
return count;
}
```
阅读全文