- 博客(11)
- 收藏
- 关注
原创 c语言 哈希表创建,删除,添加,查询
本例中的哈希算法是一个演示用途,1,算法,2,取模 ,3 取余。此算法只是针对本题的例子,此算法并不能很好的分配数据。主要是练习一个哈希表的框架结构,要注意的是每个哈希表里的数据都要写在链表中,需要用malloc来定义,不然之后free会遇到无法释放的问题。#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_NAME 256#define TABLE_SIZE 10ty
2021-11-18 18:12:20 2393
原创 归并排序mergeSort
//// main.c// merge_quick_sort//// Created by DZ on 11/1/21.//#include <stdio.h>void merge_sort(int a[] , int len){ int mid = len/2 ; //if array has only two numbers if(len == 2) { if(a[0] > a[1]) { .
2021-11-01 12:35:26 148
原创 string转16进制,逐位读取
//p 位四位的16进制数的string 例:1001 , 02F3static const char* lept_parse_hex4(const char* p, unsigned* u) { int i; *u = 0x0000; for (i = 0; i < 4; i++) { char ch = *p++; *u <<= 4; //读取的第一位一开始储存在最右边,16进制每移动四个bits就是向左移动一位, ..
2021-10-18 06:10:37 687
原创 Qsort快速排序
快速排序----在无序的数组中,任意定义一个中间值称为pivot,一般情况下选择mid number=(left+right)/2,然后和左端或者右端的值进行交换,然后再开始每一个元素与其比较。分别用数组的两个下标来来表达处理的进程,i是判断过大小的数,past是临时分界点,past左边都是比pivot小的数,右边在i不是最后一个数前,是不确定的。当i到达right也就是最后一个判断值之后,past的右边包括past就都是比pivot大的数。对于等于pivot的数不做判断,在左边或者右边没有影响。这时把
2021-10-01 11:16:25 66
原创 C语言函数sscanf()的用法
在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数。C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏.
2021-09-29 12:08:34 203
原创 C 语言字符数组的定义与初始化
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' )。2、字符数组与字符串在c 语言中,将字符串作为字符数组来处理。(c++中不是)在实际
2021-09-28 21:41:49 2869
原创 常量存储总结
局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区补充说明:1、栈中的变量内存会随着定义所在区间的结束自动释放;而对于堆,需要手动free,否则它就一直存在,直到程序结束;2、对于静态存储区,其中的变量常量在程序运行期间会一直存在,不会释放,且变量常量在其中只有一份拷贝,不会出现相同的变量和常量的不同拷贝。===..
2021-09-28 21:38:42 2695
原创 创建数组,打印stdin最大字符串的那一行 ,最大数
#include <stdlib.h>#include <stdio.h>#include <string.h>#define max 1000// get the element number and temp array, if number is greater than//max then assign temp to max_line arrayint get_line(char *temp);int main(){ //ini..
2021-09-26 10:52:38 75
原创 链表读取file文件以及一些操作
#include <stdlib.h>#include <stdio.h>typedef struct _node{ char buffer; struct _node * next;} Buffer;int count_char(FILE *file);void file_read(Buffer **phead,FILE *file);void file_print(const Buffer *head);void file_char_cou..
2021-09-24 14:05:11 723
原创 C语言 链表 创建的三种对比
其实三种方法都是一样的,只不过是在main里创建head指针或者是在函数里创建head指针,只是不同的写法,感觉都封装在函数里会更简单一些,但是其他两种方法可以练习一下有助于加深对指针的理解。要搞懂前两种创建的方法,首先要看明白指针的指针请参阅下面代码#include <stdio.h>#include <stdlib.h>//关于指针的指针,赋值以及其意义int main(){ int a=8;//定义一个int型变量a,假设其在内存中的地址是1000
2021-09-13 19:52:39 159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人