真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++怎么實(shí)現(xiàn)單鏈表反轉(zhuǎn)然后交錯(cuò)重連和稀疏矩陣

本篇內(nèi)容主要講解“c++怎么實(shí)現(xiàn)單鏈表反轉(zhuǎn)然后交錯(cuò)重連和稀疏矩陣”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“c++怎么實(shí)現(xiàn)單鏈表反轉(zhuǎn)然后交錯(cuò)重連和稀疏矩陣”吧!

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)本溪免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

/******
一leetcode題目
 1 2 3 4 n
 1 n-1 2 n-2 3 n-3
 *****/
 #include
#include
#include//容器--類模板
#include//利用隨機(jī)值
#include
using namespace std;
  
#define N 1000 
#define K 100
 typedef struct node
{
    int x;
      
    node *next;
public:
    node():x(1) ,next(NULL){}
    node(int a):x(a), next(NULL){}
}node;
int xx[]={0,7,6,5,4,3,2,1,11,12,0};int i=0; 
void  linkcreat(node*head)
{
if(head==NULL)
{
  head=new node;
}
head->x=xx[i++];
while(i<10)
{
node *add=new node(xx[i++]);
add->next=head->next;
head->next=add;
}
}
void show(node *head)
{
node *p=head;
 while(p)
{
cout<x<<" ";
p=p->next;
}
cout<next!=NULL)
  {
     q=p;
     p=p->next;
     q->next=t;
     t=q;
    
   }
 head=p;
 p->next=q;
  
}
void V(node *&head,int k)  
{ 
node *newhead=head;
node *p=head;
node *q=head;
node *t = NULL;
  while(k--)
  {
     q=p;
     p=p->next;
     q->next=t;
     t=q;
   }
 
 head=q;
 newhead->next=p;
   
}
 void VV(node *&head)  
 {//快慢指針找到中間結(jié)點(diǎn)
     node *p=head;
     node *q=head;
      while(p->next->next!=NULL)
     {
         p=p->next->next;
         q=q->next;
     }
     cout<x<next;
node *qq=q->next;
node *t = NULL;
  while(p->next!=NULL)
  {
     qq=p;
     p=p->next;
     qq->next=t;
     t=qq;
   }
  p->next=qq;
 
 q->next=p;
 //從新鏈接合并
    node *pp=head;
   q->next=NULL;
     while(p->next!=NULL)
{
   t=p;p=p->next;
   t->next=pp->next;
   pp->next=t;
    pp=pp->next->next; 
 }  
  q->next=p;
 }
 
int main()
{
     node *head=new node(1);
      linkcreat(head); 
         show(head);
      VV(head);
 show(head);
}
/**********
#include"wz.h"


template 
struct element
{
  int row, col; //行數(shù)、列數(shù)
  T item; //元素值
};
const int MaxTerm=100;
template 
class SparseMatrix
{
	public:
		SparseMatrix(){};
		SparseMatrix(int intmu,int intnu,int inttu,element datatemp[]);//有參構(gòu)造函數(shù),初始化稀疏矩陣
		~SparseMatrix(){}; //析構(gòu)函數(shù),釋放存儲(chǔ)空間
		element GetMatrix(int intnumber);//輸出下標(biāo)對應(yīng)的數(shù)組元素
		void Prt();//顯示三元組順序表
		void Trans1(SparseMatrix &B);//直接取、順序存的矩陣轉(zhuǎn)置算法
		void Trans2(SparseMatrix A, SparseMatrix &B);//順序取、直接存的矩陣轉(zhuǎn)置算法
	private:
		element data[MaxTerm]; //矩陣非零元素
		int mu, nu, tu;   //行數(shù)、列數(shù)、非零元個(gè)數(shù)
};



#endif

template 
SparseMatrix::SparseMatrix(int intmu,int intnu,int inttu,element datatemp[])
{
	if (inttu >MaxTerm ) throw "構(gòu)造函數(shù)的初始化參數(shù)不正確";
	mu = intmu;nu = intnu;tu = inttu;
	for(int i=0;i
element SparseMatrix::GetMatrix(int intnumber)
{
	if(intnumber>=tu || intnumber < 0) throw "輸入位置不正確";
	return data[i];

}

 
template 
void SparseMatrix::Prt()
{
	 
	for(int i=0;i
void SparseMatrix::Trans1(SparseMatrix &B)
{ 
	int pb,pa;
	B.mu=this->nu; B.nu=this->mu; B.tu=this->tu;//設(shè)置行數(shù)、列數(shù)、非零元素個(gè)數(shù) 

	if (B.tu>0) //有非零元素則轉(zhuǎn)換
	{
		
		pb = 0;
    for (int col=0; colnu; col++)  //依次考察每一列
			for (pa=0; patu; pa++)  //在A中掃描整個(gè)三元組表
          if (this->data[pa].col==col ) //處理col列元素
					{  
                B.data[pb].row= this->data[pa].col ;
                B.data[pb].col= this->data[pa].row ;
                B.data[pb].item= this->data[pa].item;
                pb++;
          }

	}  
}

 
template 
void SparseMatrix::Trans2(SparseMatrix A, SparseMatrix &B)
{
	int i,j,k,num[MaxTerm],cpot[MaxTerm];
	B.mu=A.nu;  B.nu=A.mu;  B.tu=A.tu;//設(shè)置行數(shù)、列數(shù)、元素個(gè)數(shù)
	if (B.tu>0)  //有非零元素則轉(zhuǎn)換
	{
	for (i=0; i類型的數(shù)組(A)
		element elementtemp,elementtemp3,elementtemp2;
		elementtemp.col=0;elementtemp.row = 0 ;elementtemp.item = 15;
		elementtemp2.col=1;elementtemp2.row = 2 ;elementtemp2.item = 16;
		elementtemp3.col=1;elementtemp3.row = 0 ;elementtemp3.item = 17;
		element A[3];A[0] = elementtemp;A[1] = elementtemp2;A[2] = elementtemp3; 

		SparseMatrix sparsematrixB;//構(gòu)造三元組順序表來存儲(chǔ)轉(zhuǎn)置后的三元組順序表
		SparseMatrix sparsematrixA(3,3,3,A);//構(gòu)造三元組順序表
		cout<<"源三元組順序表如下:"<<"\n";
		sparsematrixA.Prt();//顯示三元組順序表
		sparsematrixA.Trans1(sparsematrixB);
		cout<<"使用直接取、順序存轉(zhuǎn)置算法轉(zhuǎn)置后的三元組順序表如下:"<<"\n";
		sparsematrixB.Prt();//顯示三元組順序表
		sparsematrixA.Trans2(sparsematrixA,sparsematrixB);
		cout<<"使用順序取、直接存轉(zhuǎn)置算法轉(zhuǎn)置后的三元組順序表如下:"<<"\n";
		sparsematrixB.Prt();//顯示三元組順序表
	}
	catch(char* e)
	{
		cout<

到此,相信大家對“c++怎么實(shí)現(xiàn)單鏈表反轉(zhuǎn)然后交錯(cuò)重連和稀疏矩陣”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享名稱:c++怎么實(shí)現(xiàn)單鏈表反轉(zhuǎn)然后交錯(cuò)重連和稀疏矩陣
分享地址:http://weahome.cn/article/pipppg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部