练手
fuyou_h
这个作者很懒,什么都没留下…
展开
-
找数组中只出现一次的元素--位运算
题1:99个数,里面只有一个数出现了一次,其他均出现了两次;如何最快找到这个数,假设为一个int数组里,数大小没有限制特点:数值范围不确定;仅有一个数单词出现;// 运用位操作,异或所有元素;#include "stdafx.h"#include <stdlib.h>#define COUNT 9void main (void ){ int numbers[COUNT] = {1,原创 2016-08-02 11:47:18 · 952 阅读 · 0 评论 -
快速找中值
?1:n?0-MAX???????,???????????;??:??????;//1000?0-32?????,???????,??????;#include "stdafx.h"#include #include #define COUNT 1000#define RANGE 32void rank(int numbers[]);void tags原创 2016-07-15 18:21:29 · 2774 阅读 · 1 评论 -
中缀算数表达式求值
【题目】中缀表示法(Infix expression),算数表达式求值1、只考虑 + - * / ( ) 这几个基本运算符,且是二元操作 2、运算数只考虑 0-9,这10个简单的数,方便从string中取出来 3、输入的表达式没有语法错误【背景知识】中缀表示法(Infix expression):操作符位于两个操作数中间,算术表达式的常规表示法。只用于二元操作符的情况,而且需要用括号和优先规则排原创 2016-11-08 12:04:17 · 3061 阅读 · 0 评论 -
常用堆栈操作
// 入栈void push(struct ListNode** head, int val){ struct ListNode* cur = *head; struct ListNode* pushnode = (struct ListNode*)malloc(sizeof(struct ListNode)); pushnode->val = val; push原创 2016-10-24 10:20:30 · 945 阅读 · 0 评论 -
常用链表操作
// 创建一个链表struct ListNode* createList(int val){ struct ListNode* head; head = (ListNode*) malloc(sizeof(ListNode)); head->val = val; head->next = NULL; return head;}// 往链表添加元素voi原创 2016-10-17 17:38:15 · 379 阅读 · 0 评论 -
数组实现堆栈(sbds)
// 假设一个堆栈的总个数不会超过1000,用数组实现堆栈数据结构。struct Stack{ int index; int arr[1000];};// 注意初始化方法struct Stack stack = { -1, '0'};void push(struct Stack* stack, int val){ ++(stack->index); sta原创 2016-11-10 18:07:12 · 377 阅读 · 0 评论