网站目录结构设计应注意的问题,上海网站建设海淘科技,seo的网站建设,网站如何链接备案系统感觉上块链的代码实现比数组的代码实现要难一些#xff0c;估计因为数组的实现书上有伪代码#xff0c;而块链连伪代码都木有#xff0c;不过归根到底还是水平不行……哭瞎……╥﹏╥.../*数据结构C语言版 串的块链存储表示和实现*/# include # include # include /* 链表元…感觉上块链的代码实现比数组的代码实现要难一些估计因为数组的实现书上有伪代码而块链连伪代码都木有不过归根到底还是水平不行……哭瞎……╥﹏╥.../*数据结构C语言版 串的块链存储表示和实现*/# include # include # include /* 链表元素结构体 */typedef struct List{//数据域char data;//指针域struct List * pNext;}List, * PLIST;/* 串结构体 */typedef struct String{PLIST pHead, pTail;int length;}STRING, * PSTRING;/* 函数前置声明 *//* 初始化一个串 */void InitString( PSTRING );/* 为一个串赋值 */bool StrAssign( PSTRING, char * );/* 遍历这个块链串 */void TravelerString( PSTRING );/* 返回串的长度 */int StrLength( PSTRING );/* 拷贝一个串 */bool StrCopy( PSTRING, PSTRING );/* 拼接两个串常量编程一个块链 */bool Concat( PSTRING, char *, char * );/* 初始化这个串 */void InitString( PSTRING str ){str - pHead NULL;str - pTail NULL;str - length 0;}/*复制一个串常量*/bool StrAssign( PSTRING str, char * arr ){int i, j;PLIST p, q;//串常量的长度for( i 0; arr[i] ! \0; i);str - length i;for( j 0; j {//如果j 等于 0说明是首节点if( 0 j ){p ( PLIST )malloc( sizeof( List ) );if( NULL p ){printf(动态内存分配失败\n);return false;}p - data arr[j];p - pNext NULL;str - pHead p;}else{q ( PLIST )malloc( sizeof( List ) );if( NULL q ){printf(动态内存分配失败\n);return false;}q - data arr[j];q - pNext NULL;p - pNext q;p q;}}str - pTail p;return true;}/* 打印出这个串 */void TravelerString( PSTRING str ){PLIST p str - pHead;while( NULL ! p ){printf( %c , p - data );p p - pNext;}printf(\n);}/* 返回串的长度 */int StrLength( PSTRING str ){return str - length;}/* 拷贝一个串的长度 */bool StrCopy( PSTRING str, PSTRING str1 ){PLIST p, q, r;r str1 - pHead;str - length str1 - length;while( NULL ! r ){if( r str1 - pHead ){p str - pHead ( PLIST )malloc( sizeof( List ) );p - data r - data;p - pNext NULL;r r - pNext;}else{q ( PLIST )malloc( sizeof( List ) );q - data r - data;q - pNext NULL;p - pNext q;p q;r r - pNext;}}str - pTail p;return true;}/* 拼接两个字符串常量 */bool Concat( PSTRING str, char * s1, char * s2 ){STRING a1, a2;InitString( a1 );InitString( a2 );StrAssign( a1, s1 );StrAssign( a2, s2 );str - pHead a1.pHead;str - pTail a2.pTail;a1.pTail - pNext a2.pHead;return true;}int main( void ){//创建一个串STRING str, str1, str2;InitString( str );//初始化这个串InitString( str1 );InitString( str2 );printf(将字符串常量“abcde”赋值给str\n);StrAssign( str, abcde );printf(打印出str的值);TravelerString( str );printf( 打印出串str的长度%d\n, StrLength( str ) );//拷贝str 到 str1printf(复制串str到str1遍历str1\n);StrCopy( str1, str );TravelerString( str1 );//将两个串常量拼接成一个串块链Concat( str2, hello, world );printf(将“hello”“world”拼接成一个新的块链串\n);TravelerString( str2 );return 0;}/*在VC6.0中输出的结果是将字符串常量“abcde”赋值给str打印出str的值a b c d e打印出串str的长度5复制串str到str1遍历str1a b c d e将“hello”“world”拼接成一个新的块链串h e l l o w o r l d总结无非都是线性表跟操作线性表的感觉一样一样的。有时间多把线性结构、栈、队列那里再练练考试的重点。*/扛不住了我要吐了不谢了就这吧估计考试也不会考这里的大题……