建立一个含26个英文字母的数据元素的顺序表并输出该表中各元素的值及查找、插入、删除及顺序表的长度等操作 怎么用C++建立一个含7个数据元素的顺序表L={21,23,...
C\u8bed\u8a00\uff1a1.\u5efa\u7acb\u542bn\u4e2a\u6570\u636e\u5143\u7d20\u7684\u987a\u5e8f\u8868\u5e76\u8f93\u51fa\u8be5\u8868\u4e2d\u5404\u5143\u7d20\u7684\u503c\u53ca\u987a\u5e8f\u8868\u7684\u957f\u5ea6\u3002 \u7d27\u6025\u6c42 \u901f\u5ea61\u3001
#include#include#includeusing namespace std;typedef struct Lnode{int *data;int length;int maxsize;struct Lnode *next;}List;void creatList(List &L,int n){int count = 0;L.data = (int*)malloc(sizeof(int)*n);if (!L.data)cout > L.data[i];count++;}L.length = count;L.maxsize = n;}void Insert(List &L, int i, int data){int j;if (i >= L.maxsize)cout = L.maxsize){L.data = (int *)realloc(L.data, L.maxsize + sizeof(int)*L.maxsize);L.maxsize += L.maxsize;}for ( j = L.length-1 ; j >= i - 1; j--){L.data[j + 1] = L.data[j];}L.data[j+1] = data;L.length += 1;}void print(List L){cout > m;creatList(L,m);print(L);cout >locate >> number;Insert(L, locate, number);print(L);system("pause");}
/***********************
************************/
#include
#include
using namespace std;
#define ListInitSize 10//\u5b58\u50a8\u7a7a\u95f4\u7684\u521d\u59cb\u5206\u914d\u91cf
#define ListIncrement 1//\u5b58\u50a8\u7a7a\u95f4\u7684\u5206\u914d\u589e\u91cf
typedef int ElemType;
typedef enum {
OVERFLOW = -1,//\u5185\u5b58\u4e0d\u8db3
OK = 0,//\u6b63\u5e38\u8fd4\u56de
ERROR = 1,//\u64cd\u4f5c\u9519\u8bef
NOFOUND = 2//\u6ca1\u6709\u627e\u5230
} Status;
class SqList
{
private:
ElemType *elem;//\u5b58\u50a8\u7a7a\u95f4\u7684\u57fa\u5740
int length;//\u5f53\u524d\u7ebf\u6027\u8868\u957f\u5ea6
int listsize;//\u5f53\u524d\u5206\u914d\u7684\u5b58\u50a8\u5bb9\u91cf\uff0c\u4ee5ElemType\u5927\u5c0f\u4e3a\u5355\u4f4d
public:
SqList(unsigned int n=ListInitSize);//\u5e26\u53c2\u6570\u7684\u6784\u9020\u51fd\u6570\uff1a\u521d\u59cb\u5316\u4e00\u4e2a\u7ebf\u6027\u8868
int CreateList(void);//\u5efa\u7acb\u4e00\u4e2a\u7ebf\u6027\u8868\uff1a\u5f55\u5165\u6570\u636e
void ListInfo();//\u83b7\u53d6\u5f53\u524d\u7ebf\u6027\u8868\u4fe1\u606f
};
//\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u521d\u59cb\u5316\u7ebf\u6027\u8868
SqList::SqList(unsigned int n)
{
elem = new ElemType[n];
if(elem==NULL)
exit(OVERFLOW);//\u5b58\u50a8\u5206\u914d\u5931\u8d25
length=0;//\u7a7a\u8868\u957f\u5ea6\u4e3a0
listsize=n;//\u521d\u59cb\u5b58\u50a8\u5bb9\u91cf
}
//\u7ebf\u6027\u8868\u521d\u59cb\u5316\u5b8c\u6bd5
//\u5728\u5efa\u7acb\u597d\u7684\u7ebf\u6027\u8868\u4e2d\uff0c\u5f55\u5165\u6570\u636e
int SqList::CreateList(void)
{
int i=0;
cout<<"\u8f93\u5165\u8981\u5b58\u50a8\u7684\u5185\u5bb9:("<<listsize<<")\u4e2a:";
for(i=0;i<listsize;i++)
cin>>elem[i];
length=listsize;//\u8868\u957f\u5ea6
return OK;
}
//end
//\u83b7\u53d6\u5f53\u524d\u7ebf\u6027\u8868\u4fe1\u606f
void SqList::ListInfo()
{
cout<<"\u5f53\u524d\u7ebf\u6027\u8868\u5185\u5bb9\uff1a"<<endl;
for(int i=0;i<length;i++)
cout<<setw(5)<<elem[i];
cout<<endl<<"\u5f53\u524d\u7ebf\u6027\u8868\u957f\u5ea6\uff1a"<<length;
cout<<endl<<"\u5f53\u524d\u7ebf\u6027\u8868\u5bb9\u91cf\uff1a"<<listsize<<endl;
}
//end
int main(void)
{
SqList my_list(7);
my_list.CreateList();
my_list.ListInfo();
return 0;
}
\u8fd0\u884c\u7ed3\u679c\uff1a
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define OVERFLOW -1
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef char ElemType;
typedef int Status;
typedef struct{
ElemType *elem;//存储空间基址
int length;//当前长度
int listsize;//当前分配的存储容量
}Sqlist;
Status InitList_Sq(Sqlist *L) {
int i;
L->elem = (ElemType *) malloc (LIST_INIT_SIZE * sizeof(ElemType) );
if(!L->elem)exit(OVERFLOW);//存储分配失败
for(i=0;i<26;i++)
L->elem[i]='a'+i;
L->length=26;
L->listsize=LIST_INIT_SIZE;
return OK;
}
Status ListInsert_Sq ( Sqlist *L, int i, ElemType e ){
//在顺序线性表L中第i个位置之前插入新的元素e,
//i的合法值为1<=i<=ListLength_Sq(L)+1
ElemType *newbase, *p, *q;
if(i<1 ||(i>L->length)) return ERROR;
if(L->length >= L->listsize) {//当前存储空间已满,增加分配
newbase = (ElemType *)realloc(L->elem, (L->listsize+LISTINCREMENT)*sizeof(ElemType) );
if(!newbase) exit(OVERFLOW);//存储分配事变
L->elem = newbase;//新基址
L->listsize += LISTINCREMENT;//增加存储容量
}
q = &(L->elem[i-1]);//q为插入位置
for( p = &(L->elem[L->length-1]); p >= q; --p)
*(p+1)=*p;//插入位置及之后的元素右移
*q = e;//插入e
++L->length;//表长增1
return OK;
}
Status ListDelete_Sq(Sqlist *L, int i, ElemType e){
//在顺序表L中删除第i个元素。
//i的合法值为1<=i<=ListLength_Sq(L)+1}
ElemType *p, *q;
if((i<1)||(i>L->length))return ERROR;
p=&(L->elem[i-1]);
e=*p;
q=L->elem+L->length-1;
for(++p;p<=q;++p)*(p-1)=*p;
--L->length;
return OK;
}
Status ListDisplay(Sqlist A){//显示顺序表元素
int i=0;
printf("字母表为:");
while(i < A.length) {
printf("%5c", A.elem[i]);
i++;
}
printf("\n");
return 0;
}
void main( ) {
char e;
int i,a;
Sqlist A;
InitList_Sq(&A);
ListDisplay(A);
printf("请输入要插入的字母和位置:\n");
scanf("%c,%d", &e,&i);
getchar();
ListInsert_Sq(&A,i,e);
ListDisplay(A);
printf("请输入要删除的字母和位置:\n");
scanf("%c,%d", &e,&i);
ListDelete_Sq(&A,i,e);
ListDisplay(A);
}
绛旓細for(i=0;i<26;i++)L->elem[i]='a'+i;L->length=26;L->listsize=LIST_INIT_SIZE;return OK;} Status ListInsert_Sq ( Sqlist *L, int i, ElemType e ){ //鍦ㄩ『搴忕嚎鎬ц〃L涓i涓綅缃箣鍓嶆彃鍏ユ柊鐨勫厓绱爀,//i鐨勫悎娉曞间负1<=i<=ListLength_Sq(L)+1 ElemType *newbase, *p, *...
绛旓細char zimu[26];//瀛樺瓧姣 for(i=0;i<26;i++){ zimu[i]=i+'a';//灏26涓瓧姣瀛樺叆zimu鏁扮粍涓紝杩欓噷灏辩敤鍒颁簡涓鐐筩har鍜宨nt鐨勫叡閫氭с備竴涓嬪瓙涓嶇悊瑙g殑璇濓紝'a'鍙互鐢╝鐨凙scall鍊间唬鏇匡紝鏁堟灉涓鏍 } for(i=0;i<26;i++){ printf("%c ",zimu[i]);} printf("\n");//\n鏄洖杞︾殑鎰...
绛旓細鏈夛紝鎴戜滑鐢ㄥ嚱鏁拌浆鎹㈡潵瀹炵幇26涓嫳鏂囧瓧姣嶇殑鑷姩濉厖:濡傛灉浠嶢2寮濮嬪悜涓嬭緭鍏モ淎銆丅銆丆鈥︹︹濓紝鍏堝湪A2鍗曞厓鏍间腑杈撳叆鍏紡=CHAR(65+ROW()-2)锛岀劧鍚庣敤鈥滃~鍏呮焺鈥濆悜涓嬫嫋鎷夊嵆鍙;濡傛灉浠嶣2寮濮嬪悜鍙宠緭鍏モ淎銆丅銆丆鈥︹︹濓紝鍏堝湪B2鍗曞厓鏍间腑杈撳叆鍏紡=CHAR(65+COLUMN()-2)锛岀劧鍚庣敤鈥滃~鍏呮焺鈥濆悜鍙虫嫋鎷夊嵆鍙傛敞鎰:...
绛旓細蹇熷~鍏26涓嫳鏂囧瓧姣 棣栧厛锛屾垜浠湪鍗曞厓鏍煎綋涓緭鍏ュ叕寮=CHAR(65+ROW()-1)銆傚涓嬪浘鎵绀恒 鍗曞嚮鍥炶溅锛屾垜浠湅鍒板崟鍏冩牸褰撲腑灏卞凡缁忔樉绀篈浜嗐 鐒跺悗涓嬫媺鍗曞厓鏍煎~鍏呮锛屾垜浠湅鍒拌嫳鏂囧瓧姣嶅氨宸茬粡濉厖瀹屾瘯浜嗭紝涓嶇敤鎴戜滑涓涓涓殑杈撳叆浜嗐 褰撶劧锛屽~鍏呭悗鐨勮嫳鏂囧瓧姣嶆垜浠湅鍒版槸澶у啓鐨勶紝閭d箞濡傛灉鎴戜滑鎯...
绛旓細public class CollectTest { String str = "abcdefghijklmnopqrstuvwxyz"; ArrayList<String> list = new ArrayList<>(); public void addColectAndPrint() { String[] strings = str.split(""); // 鏀惧湪闆嗗悎閲岄潰 for (int i = 0; i < strings.length; i++) { list...
绛旓細Sub aa()i = 1j = 1For i1 = 65 To 90 For i2 = i1 + 1 To 90 For i3 = i2 + 1 To 90 For i4 = i3 + 1 To 90 For i5 = i4 + 1 To 90 For i6 = i5 + 1 To 90 For i7 = i6 + 1 To 90 For i8 = i7 + 1 To 90 ...
绛旓細struct LNode*next;}LNode,*PLNode;PLNode CreateList()/*鍒涘缓鍗曢摼琛*/ {PLNode P,head,q;int i;head=(PLNode)malloc(sizeof(LNode));p=head;p->next=NULL;for(i=0;i<26;i++){q=(PLNode)malloc(sizeof(LNode));q->character='a'+i;q->next=NULL;p->next=q;p=q;} retu...
绛旓細绗竴绉嶈緭鍏26涓嫳鏂囧瓧姣嶇殑鏂规硶锛欳HAR鍑芥暟鍜孯OW鍑芥暟瀹炵幇銆傚湪A1鍗曞厓鏍艰緭鍏ュ叕寮忥細=CHAR(ROW()+64)锛屽苟鍚戜笅鎷栧姩澶嶅埗鍏紡锛屽埌A26鍗曞厓鏍间负姝傚鏋滄槸闇瑕佽緭鍏26涓嫳鏂囧皬鍐欏瓧姣嶅簭鍒楋紝鍒欐妸鍏紡鏀逛负锛=CHAR(ROW()+96)鍦ˋ1鍗曞厓鏍艰緭鍏ュ叕寮忥細=CHAR(65+COLUMN()-1)锛屽苟鍚戝彸鎷栧姩澶嶅埗鍏紡锛屽埌Z1鍗曞厓鏍间负姝傚鏋...
绛旓細int a锛26锛斤紳锝0锝濓紱cout锛滐紲锛俻leaseinputastring锛氾紓锛沜in锛巊et锛坰tr锛30锛夛紱锛忥紡杩欓噷鏈鏌ユ暟缁勮秺鐣岋紝鍒緭鍏ュお澶氫細宕╂簝 countChar锛坰tr锛宎锛夛紱return0锛涳綕 voidcountChar锛坈har锛妔tr锛宑har锛奱锛夛經 while锛堬紛str锛夛經 a锛伙紛str锛嶏紘a锛囷冀锛嬶紜锛涳紡锛廰锛0锛藉搴斾繚瀛榓鍑虹幇鐨勬鏁帮紝濡傛灉锛妔tr涓...
绛旓細include<stdio.h> main(){ int n=65;while(n<91){ putchar(n);n++;printf("\n");} }